Printing device and method of controlling printing device

ABSTRACT

A printing device includes a printing unit that prints printing image data of a plurality of colors on a printing medium, a plurality of data storage units that receive and store the image data. The image data is transferred from the upper level device through a plurality of first transfer paths corresponding to the image data of the plurality of colors. The printing device further includes a control unit that controls the plurality of data storage units to receive control information for controlling a printing of the image data from the upper level device through a second transfer path, and send a request of transferring the image data to the upper level device on the basis of the control information, and to receive and store the image data transferred from the upper level device, and a conveyance control unit that controls a conveyance unit conveying the printing medium.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to and incorporates by referencethe entire contents of Japanese Patent Application No. 2010-208610 filedin Japan on Sep. 16, 2010 and Japanese Patent Application No.2011-179991 filed in Japan on Aug. 19, 2011.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a printing device that performsprinting according to print image data transmitted from an upper leveldevice and a method of controlling a printing device.

2. Description of the Related Art

In the related art, a printing system has been known which includes aprinting device and an upper level device delivering print data to theprinting device as well as instructing the printing device to performprinting. In this printing system, for example, the upper level devicegenerates a raster image type of print image data by using a rasterimage processer (RIP), on the basis of print data written in PDL (PageDescription Language) that is transmitted from a host device, andtransmits the generated print image data to a printing control unit ofthe printing device (for example, refer to Japanese Patent ApplicationLaid-open No. 2004-287519).

For example, Japanese Patent Application Laid-open No. 2004-287519describes the configuration that includes a front end process unithaving an RIP function, an IOT module as an image recording unit to forman image on a predetermined recording medium, a feed module to performpaper feeding, and a back end process unit as a data supply device tosupply image data to the image recording unit.

Different from the printing system described above, a printing deviceprovided with a printer controller, a printer engine, and data lines toconnect the printer controller to the printer engine is already known(for example, refer to Japanese Patent Application Laid-open No.2002-254736). In the printing device that is disclosed in JapanesePatent Application Laid-open No. 2002-254736, a control line throughwhich various control information is exchanged between the printercontroller and the printer engine is separate from the data linesthrough which print image data is exchanged, so that a high-speedtransmission of data can be realized. In the printing system, the printimage data of each color is transmitted in parallel so that thehigh-speed transmission of data in color printing can be realized.

According to the configuration described in Japanese Patent ApplicationLaid-open No. 2004-287519, image data for printing is transmitted fromthe front end processor unit to the back end processor unit and, in theback end processor unit, a printing control unit causes an imageprocessing unit to execute an image process. However, according to theconfiguration described in Japanese Patent Application Laid-open No.2004-287519, the image data processed by the back end processor unit istransmitted to the IOT module serving as an additional output moduledifferent from the back end processor unit so as to be outputted to apaper medium, and processes ranging from a transmission process of theimage data to a printing process thereof have not been collectivelycontrolled. For this reason, there is a concern that control of aprinting operation may be complicated.

SUMMARY OF THE INVENTION

It is an object of the present invention to at least partially solve theproblems in the conventional technology.

According to an aspect of the present invention, there is provided aprinting device including a printing unit that prints image data of aplurality of colors generated by an upper level device on a printingmedium, a plurality of data storage units that respectively receive theimage data of the plurality of colors from the upper level devicethrough a plurality of first transfer paths corresponding respectivelyto the image data of the plurality of colors and store the image data, acontrol unit that controls the plurality of data storage units such thatthe plurality of data storage units receive control information tocontrol printing of the image data of the plurality of colors from theupper level device through a second transfer path, and request the upperlevel device to transfer the image data of the plurality of colors, onthe basis of the control information, and controls the plurality of datastorage units such that the plurality of data storage units receive theimage data of the plurality of colors transferred from the upper leveldevice and store the image data, and a conveyance control unit thatcontrols a conveyance unit conveying the printing medium. The conveyancecontrol unit notifies the control unit of a printable state, when theconveyance unit satisfies predetermined conditions, and the control unitcontrols the plurality of data storage units such that the plurality ofdata storage units transfer the stored image data of the plurality ofcolors to the printing unit, when the notification of the printablestate is received.

According to an aspect of the present invention, there is provided amethod of controlling a printing device including, by a printing unit,printing image data of a plurality of colors generated by an upper leveldevice on a printing medium, and by a plurality of data storage units,respectively receiving the image data of the plurality of colors fromthe upper level device through a plurality of first transfer pathscorresponding respectively to the image data of the plurality of colorsand store the image data, and by a control unit, controlling theplurality of data storage units such that the plurality of data storageunits receive control information to control printing of the image dataof the plurality of colors from the upper level device through a secondtransfer path, and request the upper level device to transfer the imagedata of the plurality of colors on the basis of the control information,and controlling the plurality of data storage units such that theplurality of data storage units receive the image data of the pluralityof colors transferred from the upper level device and store the imagedata, and by a conveyance control unit, controlling a conveyance unitconveying the printing medium. In the controlling the conveyance unit,notifying the control unit of a printable state, when the conveyanceunit satisfies predetermined conditions. And in the controlling theplurality of data storage units, controlling the plurality of datastorage units such that the plurality of data storage units transfer thestored image data of the plurality of colors respectively to theprinting unit, when the notification of the printable state is received.

The above and other objects, features, advantages and technical andindustrial significance of this invention will be better understood byreading the following detailed description of presently preferredembodiments of the invention, when considered in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of the configurationof a printing system that can be applied to an embodiment of the presentinvention;

FIG. 2A is a block diagram illustrating an example of the configurationof an upper level device;

FIG. 2B is a functional block diagram illustrating an example of afunction of the upper level device;

FIG. 3A is a block diagram illustrating an example of the configurationof a printer device;

FIG. 3B is a block diagram illustrating an example of the configurationof a printer controller;

FIG. 4A is a block diagram schematically illustrating an example of theconfiguration of a data transfer control unit;

FIG. 4B is a block diagram specifically illustrating an example of theconfiguration of the data transfer control unit;

FIG. 5 is a block diagram illustrating an example of the configurationof an image output unit;

FIG. 6 is a schematic diagram illustrating an example of theconfiguration of a printer device including a conveyance system of paperthat can be applied to the embodiment of the present invention;

FIG. 7 is a schematic diagram illustrating an example of controlinformation that is transmitted and received between the upper leveldevice and the printer controller of the printer device;

FIG. 8 is a sequence diagram conceptually illustrating an example of aprinting process that can be applied to the embodiment of the presentinvention;

FIG. 9A is a flowchart illustrating an example of a process of the upperlevel device that can be applied to the embodiment of the presentinvention;

FIG. 9B is a flowchart illustrating an example of a process of a printercontroller that can be applied to the embodiment of the presentinvention;

FIG. 9C is a flowchart illustrating an example of a process of aprinting instruction of the printer controller that can be applied tothe embodiment of the present invention;

FIG. 9D is a flowchart illustrating an example of a process of each datatransfer control unit that can be applied to the embodiment of thepresent invention;

FIG. 10A is a sequence diagram specifically illustrating an example of aprinting process that can be applied to the embodiment of the presentinvention;

FIG. 10B is a sequence diagram specifically illustrating an example of aprinting process that can be applied to the embodiment of the presentinvention;

FIG. 10C is a sequence diagram specifically illustrating an example of aprinting process that can be applied to the embodiment of the presentinvention;

FIG. 11A is a flowchart illustrating another example of a process of theupper level device that can be applied to the embodiment;

FIG. 11B is a flowchart illustrating another example of a process of adata transfer control unit that can be applied to the embodiment of thepresent invention;

FIG. 12 is a schematic diagram illustrating a virtual memory accordingto the embodiment of the present invention;

FIGS. 13A and 13B are schematic diagrams illustrating a specific exampleof the virtual memory;

FIGS. 14A to 14D are schematic diagrams illustrating control of an inputpointer and an output pointer on the virtual memory;

FIG. 15 is a schematic diagram illustrating an example of a transfermanagement table that is applied to the first embodiment of the presentinvention;

FIGS. 16A and 16B are schematic diagrams illustrating informationrelated to a printing object;

FIG. 17 is a flowchart illustrating an example of a process when theprinter controller receives data from the upper level device;

FIG. 18 is a schematic diagram illustrating a check of an empty memorycapacity in the virtual memory;

FIGS. 19A to 19D are schematic diagrams illustrating a check of an emptymemory capacity in the virtual memory;

FIG. 20 is a flowchart illustrating an example of a process whentransmission ends;

FIG. 21 is a flowchart illustrating an example of a process whenprinting ends;

FIGS. 22A to 22C are schematic diagrams illustrating an example of thecase where bitmap data having a size different for each color istransmitted;

FIG. 23 is a schematic diagram illustrating an example of theconfiguration of a transfer management table according to a modificationof the embodiment of the present invention;

FIG. 24 is a schematic diagram illustrating an example of a method ofarranging print image data on a memory using a first method; and

FIGS. 25A and 25B are schematic diagrams illustrating an example of amethod of arranging print image data on a memory using a second method.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, an embodiment of a printing system according to the presentinvention will be described in detail with reference to the accompanyingdrawings. First, in order to help with understanding, productionprinting to which a printing system according to the embodiment isapplied will be schematically described. In general, the productionprinting is used when a large capacity of printing is performed in ashort time. For this reason, in the production printing, there isconstructed a work flow system for controlling from a print datageneration to a print distribution, in order to efficiently perform ajob control or a print data control, as well as improving the printspeed.

The print system according to the embodiment involves a part forimplementing the print operation in the work flow for the productionprinting. In the system, a process using the RIP (hereinafter may becalled “RIP process”) is performed by a device different from a devicefor printing the bitmap data obtained through the RIP process. Since theRIP process requires the most long processing time in the printingprocess, it is possible to improve the print speed by performing the RIPprocess and the printing process by different devices.

<Outline of Printing System Applicable to the Embodiment>

FIG. 1 illustrates an example of the configuration of a printing systemthat can be applied to the embodiment of the present invention. Theprinting system is provided with an upper level device 10, a printerdevice 13 as an image forming device, a plurality of data lines 11, anda control line 12. The upper level device 10 is connected with theprinter device 13 via the plurality of data lines 11 and the controlline 12. A host device 5 may be a computer for example to generate printjob data including print image data and print set information.

The print job data may include data written in PDL (hereinafter referredto as “PDL data”) for example. The print set information relating to theprint setting including print page information, layout information,print run information, as well as the print image data composed of thebitmap image for printing, is generated by interpreting the PDL data.

The upper level device 10 performs the RIP process in accordance withthe print job data supplied from the host device 5 to generate the eachcolor bitmap data as print image data. Along with that, the upper leveldevice 10 generates control information for controlling the printoperation, on the basis of the print job data and the information fromthe host device 5.

The print image data for each color generated by the upper level device10 is supplied to a printer engine unit (not shown) of the printerdevice 13 through the plurality of data lines 11. Between the upperlevel device 10 and the printer controller 14, the control informationfor controlling the print operation is transmitted/received through thecontrol line 12. The print controller 14 controls the printer engineunit on the basis of the transmitted/received control information toform an image on a print medium, thereby perform the print operationaccording to the print job. Incidentally, the specific example of thecontrol information will be described later with reference to FIGS. 10Ato 10C.

The printing method is not limited in particular. However, in theembodiment, printing paper is used as the printing medium and a printingimage is formed on the printing paper using an inkjet system. However,the present invention is not limited thereto and the embodiment can beapplied to the printing device that forms a printing image on theprinting paper using toner. As the printing paper, continuous paper(continuous stationery) where perforations to be cut are provided at apredetermined interval is used. In the production printing, thecontinuous paper is mainly used as the printing paper. However, thepresent invention is not limited thereto and cut paper where a size isfixed to an A4 size or a B4 size may be used as the printing paper. Inthe continuous paper, a page means a region that is interposed byperforations provided at a predetermined interval.

The printing medium that is printed by a printing system according tothe embodiment is not limited to printing paper such as paper. That is,other printing media that can be printed by a printing system applied tothe embodiment and can be provided as a roll may be used. For example, aplastic film or cloth may be used as the printing medium.

<Upper Level Device>

FIG. 2A illustrates an example of the configuration of the upper leveldevice 10. A control processing unit (CPU) 101, a read only memory (ROM)102, a random access memory (RAM) 103, and a hard disk drive (HDD) 104are connected to a bus 100. An external I/F 110, a control informationI/F 111, and a print image data I/F 112 are connected to the bus 100.The individual units that are connected to the bus 100 can communicatewith each other through the bus 100.

In the ROM 102 and the HDD 104, a program to operate the CPU 101 isstored in advance. The RAM 103 is used as a work memory of the CPU 101.That is, the CPU 101 uses the RAM 103 as the work memory according tothe program stored in the ROM 102 and the HDD 104 and controls all theoperations of the upper level device 10.

The external I/F 110 corresponds to, for example, a transmission controlprotocol/Internet Protocol (TCP/IP) and controls communication with thehost device 5. The control information I/F 111 controls communication ofcontrol information. Since the print image data I/F 112 controlscommunication of print image data, the print image data I/F 112 hasplural channels. For example, print image data of each color such asyellow (Y), cyan (C), and magenta (M), and black (K) that is generatedin the upper level device 10 is output from the plural channels. Since ahigh-speed transmission speed is required in the print image data I/F112, the peripheral component interconnect bus express (PCI Express) maybe employed. A type of the control information I/F 111 is not limited inparticular. However, in this case, similar to the print image data I/F112, the PCI Express is used.

In this configuration, print job data that is transmitted from the hostdevice 5 is received in the external I/F 110 of the upper level device10 and is stored in the HDD 104 through the CPU 101. The CPU 101executes the RIP process on the basis of the print job data read fromthe HDD 104, generates bitmap data of each color, and writes the bitmapdata in the RAM 103. For example, the CPU 101 renders page descriptionlanguage (PDL) data by the RIP process, generates bitmap data of eachcolor, and writes the bitmap data in the RAM 103. The CPU 101 compressesand encodes the bitmap data of each color that is written in the RAM 103and temporarily stores the bitmap data in the HDD 104.

For example, when a print operation starts in the printer device 13, theCPU 101 reads the compressed and encoded bitmap data of each color fromthe HDD 104, decodes the compressed code, and writes the extended bitmapdata of each color in the RAM 103. The CPU 101 reads the bitmap data ofeach color from the RAM 103, outputs the bitmap data as the print imagedata of each color from each channel of the print image data I/F 112,and supplies the bitmap data to the printer device 13. The CPU 101transmits/receives control information to control printing through thecontrol information I/F 111 between the CPU 101 and the printer device13, according to a progress situation of the print operation.

FIG. 2B is a functional block diagram illustrating an example of afunction of the upper level device 10. The upper level device 10includes interfaces (I/F) 120, 123, and 125, an RIP unit 121, a storageunit 122, and a control unit 124. The interfaces 120, 123, and 125correspond to the external I/F 110, the print image data I/F 112, andthe control information I/F 111, respectively. The RIP unit 121 and thecontrol unit 124 are configured by a program operating on the CPU 101 inFIG. 2A. The storage unit 122 corresponds to at least one of the RAM 103or the HDD 104 in FIG. 2A.

The print job data that includes the PDL data is generated by the hostdevice 5 and is transmitted to the upper level device 10. The print jobdata is received in the interface 120 and is supplied to the RIP unit121. The RIP unit 121 performs rendering on the basis of the PDL dataincluded in the supplied print job data and generates print image databased on the bitmap data of each color of Y, C, M, and K. The RIP unit121 sequentially stores the generated print image data of each color ofY, C, M, and K in the storage unit 122.

The control unit 124 communicates with the printer controller 14 of theprinter device 13 through the interface 125. For example, the controlunit 124 generates control information to control printing in theprinter device 13, on the basis of the print job data supplied from thehost device 5 through the interface 120. The control information istransmitted from the control unit 124 to the printer controller 14through the interface 125.

The interface 123 is configured to have independent access to the printimage data of each color of Y, C, M, and K stored in the storage unit122. The interface 123 is connected to the printer device 13 through theplurality of data lines 11 corresponding to the individual colors of Y,C, M, and K, and exchanges control information related to print imagedata transfer of each color of Y, C, M, and K between the interface 123and the printer device 13 or transmits print image data of each color ofY, C, M, and K.

<Printer Device>

FIG. 3A illustrates an example of the configuration of the printerdevice 13. The printer device 13 includes a printer controller 14 and aprinter engine 15. The printer controller 14 is connected to the controlline 12, and exchanges control information with the upper level device10 through the control line 12 to control a print operation. The printerengine 15 is connected to the plurality of data lines 11 a, 11 b, 11 c,and 11 d and executes a printing process of print image data of eachcolor that is transmitted from the upper level device 10 through thedata lines 11 a, 11 b, 11 c, and 11 d according to the control of theprinter controller 14.

The printer controller 14 and the printer engine 15 will be described inmore detail. The printer controller 14 includes a control informationtransmitting/receiving unit 20, a control signal transmitting/receivingunit 21, a paper conveyance control unit 22, and a control unit 23.

The control information transmitting/receiving unit 20 exchanges controlinformation to control printing with the upper level device 10 throughthe control line 12. The control signal transmitting/receiving unit 21is connected to data transfer control units 30 a, 30 b, 30 c, and 30 dto be described below through engine I/F control lines 40 a, 40 b, 40 c,and 40 d. The control signal transmitting/receiving unit 21 exchanges acontrol signal individually with the data transfer control units 30 a,30 b, 30 c, and 30 d. The paper conveyance control unit 22 is connectedto a conveyance control unit 51 to be described below through aconveyance control line 41 and exchanges a control signal with theconveyance control unit 51 to control paper conveyance.

The control unit 23 includes a CPU, a ROM, and a RAM, and uses the RAMas a work memory to control the individual units of the printercontroller 14 according to a program previously stored in the ROM. Thecontrol unit 23 analyzes control information that is transmitted fromthe upper level device 10 and is received by the control informationtransmitting/receiving unit 20 and delivers the control information tothe control signal transmitting/receiving unit 21 or the paperconveyance control unit 22.

The control information transmitting/receiving unit 20, the controlsignal transmitting/receiving unit 21, and the paper conveyance controlunit 22 may be configured as hardware controlled by the control unit 23and may be configured as a program module that operates on the controlunit 23.

FIG. 3B illustrates an example of the hardware configuration of theprinter controller 14. The printer controller 14 includes a CPU 321, aninterface (I/F) 322, a RAM 323, and a ROM 324. The CPU 321, theinterface (I/F) 322, the RAM 323, and the ROM 324 are connected to a bus320 such that they can communicate with each other. To the bus 320, acontrol line 12 is also connected through a communication I/F notillustrated in the drawings. The CPU 321 operates using the RAM 323 asthe work memory according to the program stored in the ROM 324 andcontrols all the operations of the printer device 13. The interface 322includes a logic circuit that is configured in a hardware manner andcontrols communication with a printer controller 14, data transfercontrol units 30 a, 30 b, 30 c, and 30 d and a conveyance control unit51.

In this configuration, for example, functions of the control signaltransmitting/receiving unit 21 and the paper conveyance control unit 22illustrated in FIG. 3A are realized by the I/F 322. The function of thecontrol unit 23 is realized by the program operated on the CPU 321. Thefunction of the control information transmitting/receiving unit 20 isrealized by a communication I/F not illustrated in the drawings and thebus 320.

Returning to the description of FIG. 3A, the printer engine 15 includesthe plurality of data transfer control units 30 a, 30 b, 30 c, and 30 dthat have the same configuration, an image output unit 50 that outputsan image based on the print image data to paper and forms an image, anda conveyance control unit 51 that controls conveyance of printing paper.

The data lines 11 a, 11 b, 11 c, and 11 d are connected to the datatransfer control units 30 a, 30 b, 30 c, and 30 d, respectively. Thedata transfer control units 30 a, 30 b, 30 c, and 30 d include memories31 a, 31 b, 31 c, and 31 d, respectively, and store the print image dataof the individual colors transmitted from the upper level device 10through the data lines 11 a, 11 b, 11 c, and 11 d in the memories 31 a,31 b, 31 c, and 31 d.

Each of the memories 31 a, 31 b, 31 c, and 31 d has the same memorycapacity and the same address configuration. Each of the memories 31 a,31 b, 31 c, and 31 d preferably has the memory capacity that can storeprint image data of at least three pages. For example, the three pagesof the print image data correspond to print image data of a page duringtransmission from the upper level device 10, print image data of a pageduring an output, and print image data of the next page. However, thepresent invention is not limited thereto and each of the memories 31 a,31 b, 31 c, and 31 d may store print image data of two pages or less.

The data transfer control units 30 a, 30 b, 30 c, and 30 d are connectedto the control signal transmitting/receiving unit 21 by engine I/Fcontrol lines 40 a, 40 b, 40 c, and 40 d, respectively. The controlsignal transmitting/receiving unit 21 can transmit/receive a controlsignal between the data transfer control units 30 a, 30 b, 30 c, and 30d through the engine I/F control lines 40 a, 40 b, 40 c, and 40 d.

FIG. 4A schematically illustrates an example of the configuration of thedata transfer control unit 30 a. Since the common configuration isapplied to the data transfer control units 30 a, 30 b, 30 c, and 30 d,the configuration of the data transfer control unit 30 a among the datatransfer control units 30 a, 30 b, 30 c, and 30 d is illustratedrepresentatively in FIG. 4A.

The data transfer control unit 30 a includes a memory 31 a and a logiccircuit 32 a. The engine I/F control line 40 a and the data line 11 aare connected to the logic circuit 32 a. The logic circuit 32 a storesthe print image data transmitted from the upper level device 10 throughthe data line 11 a in the memory 31 a, according to the control signalreceived from the control signal transmitting/receiving unit 21 throughthe engine I/F control line 40 a. Likewise, the logic circuit 32 a readsthe print image data from the memory 31 a according to a control signalreceived from the control signal transmitting/receiving unit 21 throughthe engine I/F control line 40 a and supplies the print image data to animage output unit 50 to be described through an output line 33 a.

The control by the logic circuit 32 a that is configured in a hardwaremanner with a combination of logic circuits is advantageous in that ahigh-speed process can be executed, over the control by a CPU which usesinterrupts to make a program diverge into processes. For example, thelogic circuit 32 a performs logic determination with respect to acontrol signal based on a bit string that is received through the engineI/F control line 40 a and determines a process to be executed. However,the present invention is not limited thereto and the same function asthat of the logic circuit 32 a may be realized in a hardware mannerusing the CPU.

The print image data of the individual colors that are output from thedata transfer control units 30 a, 30 b, 30 c, and 30 d is supplied tothe image output unit 50. The image output unit 50 executes printingbased on the print image data of each color. In the embodiment, printingof the print image data is performed by an inkjet system that ejects inkfrom nozzles in heads and performs printing. However, the printingsystem is not limited to the inkjet system and a laser printer systemmay be used.

FIG. 4B specifically illustrates an example of the configuration of thedata transfer control unit 30 a. In FIG. 4B, components that are commonto those of FIG. 4A are denoted by the same reference numerals and theredundant description will not be repeated. The data transfer controlunit 30 a includes a memory 31 a, a memory controller 132 a, datatransfer direct memory accesses (DMA) 133 a and 134 a, and a datatransfer control unit controller 135 a. Among these components, thememory controller 132 a, the data transfer DMAs 133 a and 134 a, and thedata transfer control unit controller 135 a are included in the logiccircuit 32 a illustrated in FIG. 4A.

The memory controller 132 a controls access with respect to the memory31 a. The data transfer DMA 133 a receives print image data from theupper level device 10 and writes the print image data in the memorythrough the memory controller 132 a. The data transfer DMA 134 a readsdata from the memory 31 a through the memory controller 132 a andtransmits the data to the image output unit 50 through the output line33 a. The data transfer control unit controller 135 a receives controlinformation that is transmitted from the control signaltransmitting/receiving unit 21 in the printer controller 14 through theengine I/F control line 40 a and controls the data transfer DMAs 133 aand 134 a according to the received control information.

For example, once a data transfer start request transmitted from thecontrol signal transmitting/receiving unit 21 is received in the datatransfer control unit controller 135 a through the engine I/F controlline 40 a, the data transfer control unit controller 135 a instructs thedata transfer DMA 133 a to start to transmit data, according to the datatransfer start request. The data transfer DMA 133 a transmits the datatransfer request to the upper level device 10 through the data line 11 aaccording to the instruction. For example, the data that is transmittedfrom the upper level device 10 according to the data transfer request isreceived in the data transfer DMA 133 a and is written at apredetermined address of the memory 31 a through the memory controller132 a.

Once the printing instruction that is transmitted from the controlsignal transmitting/receiving unit 21 is received in the data transfercontrol unit controller 135 a through the engine I/F control line 40 a,the data transfer control unit controller 135 a instructs the datatransfer DMA 134 a to read data from the memory 31 a. The data transferDMA 134 a reads data from the memory 31 a through the memory controller132 a, according to the instruction. The data transfer DMA 134 atransmits the read data to the image output unit 50 through the outputline 33 a.

FIG. 5 illustrates an example of the configuration of the image outputunit 50. The image output unit 50 includes an output control unit 55 andheads 56 a, 56 b, 56 c, and 56 d of the individual colors of Y, C, M,and K. A relation between the colors and the heads 56 a, 56 b, 56 c, and56 d is not limited to the above example. The output control unit 55controls connection of output lines 33 a, 33 b, 33 c, and 33 d to whichprint image data of the data transfer control units 30 a, 30 b, 30 c,and 30 d is output and the heads 56 a, 56 b, 56 c, and 56 d. That is,the output control unit 55 can set a path such that each of the heads 56a, 56 b, 56 c, and 56 d is connected to any one output line selectedfrom the output lines 33 a, 33 b, 33 c, and 33 d.

For example, the output control unit 55 may set the output lines 33 a,33 b, 33 c, and 33 d and the heads 56 a, 56 b, 56 c, and 56 d to beconnected in a one-to-one relation. Further, the output lines 33 a, 33b, 33 c, and 33 d may be set to be connected to the heads 56 a, 56 b, 56c, and 56 d in a one-to-multiple relation, such that the heads 56 a, 56b, 56 c, and 56 d are connected to the output line 33 a.

Paths to connect the output lines 33 a, 33 b, 33 c, and 33 d with theheads 56 a, 56 b, 56 c, and 56 d may be set by an operation from theuser using a DIP switch. However, the present invention is not limitedthereto and the paths may be set by a control signal from the controlsignal transmitting/receiving unit 21.

As described above, in the printer device 13 according to theembodiment, transmission of the print image data from the upper leveldevice 10 and transmission/reception of a control signal to controlprinting of the print image data between the upper level device 10 andthe printer device 13 are performed through different paths. The printimage data of the individual colors is transmitted from the upper leveldevice 10 through the different data lines 11 a, 11 b, 11 c, and 11 dand the print image data of the individual colors that is transmittedthrough the data lines 11 a, 11 b, 11 c, and 11 d is independentlycontrolled and is supplied to the data transfer control units 30 a, 30b, 30 c, and 30 d that have the same configuration. Further, in theimage output unit 50, connection paths of outputs of the data transfercontrol units 30 a, 30 b, 30 c, and 30 d and the heads 56 a, 56 b, 56 c,and 56 d of the individual colors can be set by a user operation or thelike.

Therefore, the printer device 13 according to the embodiment can easilychange the configuration of the printer engine 15, according to thenumber of colors of the print image data (four colors of Y, C, M, and Kor only color of K) or the number of heads used by the image output unit50. At this time, the printer engine 15 may be provided with only thenecessary units among the data transfer control units 30 a, 30 b, 30 c,and 30 d according to the required configuration.

For example, in a case of performing a full-color printing with fourcolors Y, C, M, and K, all of the data transfer control units 30 a, 30b, 30 c, and 30 d may be provided in the printer engine 15. In theoutput control unit 55, the outputs of the data transfer control units30 a, 30 b, 30 c, and 30 d may be connected to the heads 56 a, 56 b, 56c, and 56 d, respectively. For example, in a case of performing amono-color printing with only color K, it may be configured from a costviewpoint that only the data transfer control unit 30 a is provided withonly the head 56 a. And, in the output control unit 55, the output ofthe data transfer control unit 30 a can be connected to the head 56 a.Alternatively, in the case of performing the mono-color printing withthe only color K, it may be configured form a speed viewpoint that onlythe data transfer control unit 30 a is provided with four heads 56 a, 56b, 56 c and 56 d. And, in the output control unit 55, the output of thedata transfer control unit 30 a can be connected to four heads 56 a, 56b, 56 c and 56 d. In this case, the same color is printed overlappinglya plurality of times. Therefore, for example, a high speed printing maybe realized by shortening the ejection time of ink from heads 56 a, 56b, 65 c and 56 d respectively to ¼ of the usual ejection time andincreasing the conveyance speed of sheet paper to quadruple of the usualconveyance speed.

<Conveyance System of Printing Paper>

Referring to FIG. 3A, the conveyance control unit 51 is connected to thepaper conveyance control unit 22 by the conveyance control line 41 andcontrols conveyance of paper to which an image is formed by the imageoutput unit 50 on the basis of the print image data. FIG. 6schematically illustrates an example of the configuration of a printerdevice 200 that includes a conveyance system of paper that can beapplied to the embodiment of the present invention. As described above,in the embodiment, the printer device 200 uses continuous paper asprinting paper.

Printing paper 201 is fed from a printing paper feeding unit 210 to afirst conveyance unit 230 through a power supply operation box 220. Inthe first conveyance unit 230, the printing paper 201 is conveyedthrough plural rollers by conveyance control of the conveyance controlunit 51, is aligned, and is fed to printer engine units 240 and 250 thatcorrespond to the printer engine 15.

In a printing unit 241 that corresponds to the image output unit 50, theprinter engine units 240 and 250 perform printing according to printimage data with respect to the printing paper 201 fed from the firstconveyance unit 230. The printing paper 201 where the printing ends isdischarged from the printer engine unit 250 by the conveyance control ofthe conveyance control unit 51 and is fed to a second conveyance unit260. The printed paper 201 is conveyed to a predetermined position bythe second conveyance unit 260 to be discharged, and is fed to a cuttingunit 270. The printed paper 201 is cut by the cutting unit 270 accordingto perforations and divided into individual pages.

In this case, the printing paper continuously exists even in a pathuntil the printing paper 201 is discharged from the second conveyanceunit 260 after printing is performed on the printing paper 201 in theprinter engine units 240 and 250, in order for the printer device 200 toperform printing on the printing paper 201 which is the continuouspaper.

The configuration that includes the first conveyance unit 230, theprinter engine units 240 and 250, and the second conveyance unit 260 isadditionally prepared, the printed paper 201 that is discharged from thesecond conveyance unit 260 disposed on the front side is reversed andfed to the first conveyance unit 230 disposed on the rear side, andboth-sided printing with respect to the printing paper 201 can beperformed.

<Detail of Printing Process Applicable to the Embodiment>

Next, a printing process applicable to the embodiment will be furtherdescribed in detail. FIG. 7 illustrates an example of controlinformation that is transmitted/received between the upper level device10 and the printer controller 14 of the printer device 13 through thecontrol line 12. In FIG. 7, the upper level device 10 is illustrated asa digital front end processor (DFE) and the printer controller 14 isillustrated as a PCTL. The control information roughly includes (i) jobinformation, (ii) information indicating a printer status and a printingprocess, (iii) information indicating a printing condition, and (iv)information indicating a connection.

The job information is used to notify a job start and a job end. The jobstart includes a notification of the job start with respect to theprinter controller 14 from the upper level device 10 and a response fromthe printer device 13 to the upper level device 10 with respect to thenotification. The job end includes a notification of an end of all ofthe printing processes that are requested by the job start with respectto the printer controller 14 from the upper level device 10 and aresponse from the printer controller 14 to the upper level device 10with respect to the notification. At the time of a response in the jobstart and the job end, a job identifier (JOBID) to identify a job istransmitted from the printer controller 14 to the upper level device 10.

The information indicating a printer status and a printing processincludes a printing process reception start notification, arequest/notification of printer information, a printing process startnotification, a printing process request, a data transfer completionnotification, a data reception completion notification, a printingprocess completion notification, a process status report, a servicecontrol (SC) notification, and an error occurrence and removalnotification.

As for the printing process reception start notification, the printerdevice 13 notifies the upper level device 10 that the printer controller14 is ready to receive a printing process. The request/notification ofprinter information includes a request of necessary printer informationfrom the upper level device 10 to the printer controller 14, as well asa response to the request from the printer controller 14 to the upperlevel device 10.

The printing process start notification includes a notification from theupper level device 10 to the printer controller 14 indicating that thepreparation of the print image data is completed and a response to thenotification from the printer device 13 to the upper level device 10.The notification indicating that the preparation of the print image datais completed is notified in accordance with the sequence of the outputof the print image data, page-by-page (process-by-process). It can besaid that the page is a print unit by which a series of printingoperation is performed.

The printing process request includes a notification of printing processfrom the printer controller 14 to the upper level device 10 and aresponse to the notification from the upper level device 10 to theprinter controller 14. The printer controller 14 notifies the upperlevel device 10 of color information (yellow, cyan, magenta, or black)indicating the colors Y, C, M, and K to perform printing, a processidentification number (process ID), and a plane identification number.Incidentally, the plane corresponds to each image based on each colorprint image data to be printed in one page. The printer controller 14notifies these kinds of information for every plane in accordance withthe sequence of requests from engine, i.e. the data transfer controlunits 30 a, 30 b, 30 c and 30 d. That is, the printer engine 15retrieves the print image data composed of bitmap data from the upperlevel device 10.

As for the data transfer completion notification, the completion oftransferring the print image data as for the requested plane is notifiedfrom the upper level device 10 to the printer controller 14. As for thedata reception completion notification, the completion of receiving theprint image data as for the requested plane is notified from the printercontroller 14 to the upper level device 10. As for the printing processcompletion notification, the completion of print request for all pages(process) is notified from the upper level device 10 to the printcontroller 14. As for the process status report, the print status ofpages (process) is notified from the printer controller 14 to the upperlevel device 10. At this time, the printer controller 14 acquires fromthe printer engine 15 the information about feeding or discharging ofsheets or the information about the print start timing, and adds theacquired information to the completion notification. Then, thenotification to which the acquired information is added is transmittedto the upper level device 10.

As for the SC notification, an acquisition of obstacle information isrequested from the upper level device 10 to the printer controller 14.The obstacle information acquired according to the request is notifiedfrom the printer controller 14 to the upper level device 10. As for theerror occurrence and removal, an occurrence of any error and a removalthereof at the upper level device 10 is notified from the upper leveldevice 10 to the printer controller 14.

The information indicating printing conditions includes setting theprinting conditions, that is, a notification of the printing conditionsfrom the upper level device 10 to the printer controller 14 and aresponse from the printer controller 14 to the notification. Examples ofthe printing conditions include a printing form, a printing type,feeding/discharging information, printing surface order, a printingpaper size, a print data size, resolution and gradation, and colorinformation.

The printing form indicates, for example, whether both-sided printing ora single-sided printing is performed on the printing paper 201. Theprinting type indicates whether print image data exists and thus theprint image data is printed or the print image data does not exist andthus a white page is output without printing the print image data. Thefeeding/discharging information indicates identification information,such as a stacker of a discharging destination or a feeding origin ofthe printing paper 201. The printing surface order indicates whetherprinting is performed from a front surface to a back surface of theprinting paper 201 or is performed from the back surface to the frontsurface. The printing paper size indicates, for example, the length of apage to be printed in a conveyance direction of the printing paper 201,when continuous paper is used as the printing paper 201. The print datasize indicates a data size of the print image data. That is, the printdata size indicates a size of the print image data corresponding to onepage. The resolution and gradation indicates resolution and gradation ofthe case where the print image data is printed on the printing paper201. The color information indicates, for example, whether to performprinting using a full color in which the colors Y, C, M, and K are used,or to perform printing using a single color in which only the color K isused.

The information indicating the connection includes registration andrelease, and specifically includes registration of information in eachopponent between the upper level device 10 and the printer controller14, and release of the registered information.

<Printing Sequence>

Next, a printing process applicable to the embodiment will be described.FIG. 8 is a sequence diagram conceptually illustrating an example of theprinting process that can be applied to the embodiment. In this case,full-color printing using the individual colors Y, C, M, and K isperformed. Once the printer controller 14 receives information relatedto the printing paper 201 as control information from the upper leveldevice 10 (SEQ100), paper feeding length is set to the conveyancecontrol unit 51 on the basis of the received information (SEQ110). Thepaper feeding length is, for example, a size of one page in a conveyancedirection.

Once the printer controller 14 receives control information indicating ajob start of a first page (page #1) from the upper level device 10(SEQ101), the printer controller 14 requests the data transfer controlunits 30 a, 30 b, 30 c, and 30 d to start data transfer of the firstpage with respect to the colors Y, C, M, and K (SEQ110 a, SEQ110 b,SEQ110 c, and SEQ110 d). The data transfer control unit 30 a requeststhe upper level device 10 to transmit print image data of the first pageof the color Y according to the request through the data line 11 a, andstores the print image data of the first page of the color Y transmittedfrom the upper level device 10 in the memory 31 a, according to therequest.

Similar to the data transfer control unit 30 a, the data transfercontrol units 30 b, 30 c, and 30 d request the upper level device 10 totransmit the print image data of the individual colors C, M, and K ofthe first page through the data lines 11 b, 11 c, and 11 d according tothe requests from SEQ110 b, SEQ110 c, and SEQ110 d. Each of the datatransfer control units 30 b, 30 c, and 30 d stores the print image dataof the first page of the individual colors C, M, and K transmitted fromthe upper level device 10 according to the request in the memories 31 b,31 c, and 31 d.

Meanwhile, in the example of FIG. 8, while the data transfer of thefirst page is requested from the printer controller 14 to each of thedata transfer control units 30 a, 30 b, 30 c, and 30 d, the printercontroller 14 receives control information indicating a job start of thenext second page transmitted from the upper level device 10 (SEQ102).The received control information is held in, for example, the RAM 323.

Once the print image data transfer of the first page of each color fromthe upper level device 10 ends, each of the data transfer control units30 a, 30 b, 30 c, and 30 d notifies the printer controller 14 of the endof the transmission (SEQ111 a, SEQ111 b, SEQ111 c, and SEQ111 d). Theprinter controller 14 requests each of the data transfer control units30 a, 30 b, 30 c, and 30 d to start the data transfer of the second page(page #2), in response to the notification (SEQ112 a, SEQ112 b, SEQ112c, and SEQ112 d).

Each of the data transfer control units 30 a, 30 b, 30 c, and 30 drequests the upper level device 10 to transmit the print image data ofthe second page of each color, according to the request, and stores theprint image data of the second page of each color transmitted from theupper level device 10 in the memories 31 a, 31 b, 31 c, and 31 d,according to the request.

Each of the data transfer control units 30 a, 30 b, 30 c, and 30 d canrecognize the end of the data transfer on the basis of the data amountof the transmitted print image data. The information indicating the dataamount of the printing image corresponding to one page, for example, isadded to the head of the print image data by the upper level device 10and is transmitted, when the data transfer starts with respect to eachof the data transfer control units 30 a, 30 b, 30 c, and 30 d. In a casethat a predetermined unit of the print image data is transferred, it maybe configured that the upper level device 10 adds any end informationfor indicating the completion of transferring one page to the lasttransferred unit of the print image data corresponding to the end of onepage. Alternatively, it may be configured that the upper level device 10transmits any information for indicating the completion of transferringthe print image data corresponding to one page to each transfer controlunit 30 a, 30 b, 30 c and 30 d independently of the print image data,for example immediately after the print image data corresponding to onepage is transferred.

Meanwhile, once the printer controller 14 receives the notification ofthe completion of transferring the data of the first page from all ofthe data transfer control units 30 a, 30 b, 30 c, and 30 d, the printercontroller 14 requests the conveyance control unit 51 to start the paperconveyance (SEQ113). The conveyance control unit 51 starts conveyance ata predetermined speed of the printing paper 201 according to therequest. The printer controller 14 requests the conveyance control unit51 to start the paper conveyance and instructs each of the data transfercontrol units 30 a, 30 b, 30 c, and 30 d to start printing of the firstpage (SEQ114).

If the printing paper 201 reaches a predetermined position, theconveyance control unit 51 notifies the printer controller 14 of aprinting enabled state (SEQ117). The printer controller 14 instructseach of the data transfer control units 30 a, 30 b, 30 c and 30 d of theprint start position, according to the printing enabled state reportfrom the conveyance control unit 51 (SEQ118).

Each of the data transfer control units 30 a, 30 b, 30 c and 30 d startsthe printing operation according to the print start positioninstruction. In this example, the heads of the individual colors Y, C,M, and K are arranged in order of the heads 56 a, 56 b, 56 c, and 56 dalong a conveyance direction of the printing paper 201. In this case,once the print start position of the first page in the printing paper201 reaches a position to be printed by the head 56 a, the data transfercontrol unit 30 a firstly starts reading out the print image data of thefirst page from the memory 31 a. The print image data of the color Yread from the memory 31 a is transmitted to the image output unit 50.The print image data is supplied to the head 56 a through the outputcontrol unit 55 and printing with respect to the printing paper 201 isperformed (SEQ119 a). Once printing the first page of the color Y iscompleted, the completion of the printing is notified to the printercontroller 14 (SEQ120 a).

Next, once the print start position of the first page in the printingpaper 201 reaches a position to be printed by the head 56 b, the datatransfer control unit 30 b starts reading out the print image data ofthe first page from the memory 31 b. The print image data of the color Cread from the memory 31 b is transmitted to the image output unit 50.The print image data is supplied to the head 56 b through the outputcontrol unit 55 and printing with respect to the printing paper 201 isperformed (SEQ119 b). Once printing the first page of the color C ends,the end of the printing is notified to the printer controller 14 (SEQ120b).

Hereinafter, in the same way as mentioned above, the printing operationswith the colors M and K are sequentially started (SEQ119 c and SEQ119d). Once the printing operations with the colors M and K are completed,the completion of the printing operation is notified to the printercontroller 14 (SEQ120 c and SEQ120 d).

Meanwhile, once transferring each color print image data of the secondpage started at SEQ112 a to SEQ112 d are completed, each of the datatransfer control units 30 a, 30 b, 30 c and 30 d notifies the printercontroller 14 of the completion of transferring the data (SEQ115). Theprinter controller 14 instructs each of the data transfer control units30 a, 30 b, 30 c and 30 d to start printing the second page, accordingto the data transfer completion notification (SEQ116).

Each of the data transfer control units 30 a, 30 b, 30 c and 30 d startsto print the second page after the completion of printing the firstpage. For example, when the print start position of the second page inthe printing paper 201 reaches a position to be printed by the head 56 aafter the completion of printing the first page (SEQ120 a), the datatransfer control unit 30 a reads out the print image data of the color Yof the second page from the memory 31 a, supplies the print image datato the image output unit 50, and starts printing on the printing paper201 (SEQ121 a). Once the printing operation of the color Y is completed,the completion of the printing operation is notified to the printercontroller 14 (SEQ122 a).

In the same way, also in the data transfer control units 30 b, 30 c, and30 d, when the print start position of the second page reaches eachposition to be printed by the heads 56 b, 56 c, and 56 d, each colorprint image data is read from the memories 31 b, 31 c and 31 d,respectively, and printing with respect to the printing paper 201 isstarted (SEQ121 b to SEQ121 d). When the printing operation of eachcolor is completed, the completion of the printing operation of eachcolor is notified to the printer controller 14 (SEQ122 b to SEQ122 d).

Once the printer controller 14 receives the printing process completionnotification of the color K of the second page from the data transfercontrol unit 30 d, the printer controller 14 assumes that the printingoperation of the final page according to the print job ends and requeststhe conveyance control unit 51 to stop conveyance of the printing paper201 (SEQ123). The conveyance control unit 51 stops conveyance of theprinting paper 201 according to the request and reports the stop ofconveyance to the printer controller 14 (SEQ124). Thereby, a series ofprinting processes terminates.

<Detail of Printing Process>

Next, a printing process applicable to the embodiment will be describedin detail. In the embodiment, each of the data transfer control units 30a to 30 d acquires control information to control printing, from theupper level device 10, under the control of the printer controller 14.Each of the data transfer control units 30 a to 30 d stores print imagedata of each color transmitted from the upper level device 10 in thememories 31 a to 31 d, under the control of the printer controller 14.

A data transfer process of the print image data that can be applied tothe embodiment will be described using flowcharts of FIGS. 9A to 9D.Hereinafter, the data lines 11 a, 11 b, 11 c, and 11 d transmit printimage data of the colors Y, C, M and K, respectively, and the datatransfer control units 30 a, 30 b, 30 c and 30 d control the transfer ofthe print image data of the colors Y, C, M and K, respectively.

FIG. 9A is a flowchart illustrating an example of a process in the upperlevel device 10 relating to data transfer. Once the upper level device10 receives job data from the host device 5, the upper level device 10transmits control information indicating a job start to the printercontroller 14 through the control line 12, in step S100. The upper leveldevice 10 stands by a control signal that is transmitted from theprinter controller 14 in response to the control signal and indicatesprinting process reception (step S101).

Once the upper level device 10 receives the control signal indicatingthe printing process reception from the printer controller 14, the upperlevel device 10 transmits control information indicating printingconditions in job data to the printer controller 14 through the controlline 12 in step S102. Next, in step S103, the upper level device 10 setsa page number to “n” and transmits a control signal to control aprinting process start of the n-th page to the printer controller 14through the control line 12. The processes from step S103 to step S112are executed in a page unit.

The processes of steps S104 to S110 become processes that are executedon the individual colors of Y, C, M, and K. Hereinafter, a process thatis related to the color Y will be mainly described. In step S104, theupper level device 10 stands by a request for transmission of the printimage data of the color Y from the printer controller 14. Once the upperlevel device 10 receives a data transfer request transmitted from theprinter controller 14 through the control line 12, the upper leveldevice 10 returns a response to the received data request to the printercontroller 14 in step S105. Next, in step S106, the upper level device10 stands by a data transfer request that is transmitted from the datatransfer control unit 30 a through the data line 11 a.

Once the upper level device 10 receives the data transfer request fromthe data transfer control unit 30 a through the data line 11 a, theupper level device 10 starts the transfer of the print image data of thecolor Y with respect to the data transfer control unit 30 a in stepS107. The print image data of the color Y is transmitted to the datatransfer control unit 30 a through the data line 11 a. At this time, theupper level device 10 adds information indicating a size of the printimage data to the transmitted print image data of the color Y.

In step S108, the upper level device 10 stands by the completion oftransferring the data corresponding to one page of the color Y.Referring to FIG. 2B, the upper level device 10 monitors the storageunit 122 and the interface 123 using the control unit 124 and determineswhether transferring the data corresponding to one page is performedwith respect to the individual colors Y, C, M, and K. When it isdetermined that the transfer of the data corresponding to one page ofthe color Y terminates, the upper level device 10 makes the processproceed to step S109 and the data transfer completion notificationindicating that the transfer of the data corresponding to one pageterminates is transmitted to the printer controller 14 through thecontrol line 12. In step S110, the upper level device 10 stands by adata reception completion notification with respect to the color Y, fromthe printer controller 14.

In step S111, the upper level device 10 determines whether the datareception completion notification is received for all of the colors Y,C, M, and K. When it is determined that the data reception completionnotification is not received, the process returns to step S104 and theupper level device 10 executes a process on the next color.

In FIG. 9A, the processes of steps S104 to S110 has been described to besequentially executed with respect to the individual colors Y, C, M, andK. However, the present invention is not limited thereto. For example,the processes of steps S104 to S110 may be executed in parallel withrespect to the individual colors Y, C, M, and K. In this case, in stepS111, the upper level device 10 stands by the data reception completionnotification in step S110 in the processes of the individual colors Y,C, M, and K.

Once the upper level device 10 determines that the data receptioncompletion notifications is received with respect to all of the colorsof Y, C, M, and K in step S111, the upper level device 10 makes theprocess proceed to step S112 and determines whether a printing processof the next page is executed. The number of pages to be printed can beacquired from the print job data that is received from the host device5. When it is determined that the printing process of the next pageexists, the page number n becomes n+1 and the process returns to stepS103.

Meanwhile, when it is determined that transmission of the datacorresponding to all of the pages in the print job data terminates, theupper level device 10 makes the process proceed to step S113 and standsby transmission of a discharging report of all of the pages from theprinter controller 14. When the upper level device 10 receives thedischarging report of all of the pages from the printer controller 14,the upper level device 10 makes the process proceed to step S114 and theupper level device 10 transmits a job end notification indicating thatall of the print jobs end to the printer controller 14 through thecontrol line 12.

FIG. 9B is a flowchart illustrating an example of a process in theprinter controller 14 relating to the data transfer. In step S120, theprinter controller 14 stands by the control information indicating thejob start transmitted from the upper level device 10 through the controlline 12. Once the printer controller 14 receives the controlinformation, the printer controller 14 returns a response to the upperlevel device 10 through the control line 12, in the next step S121. Instep S121, the printer controller 14 transmits the control informationindicating the printing process reception start to the upper leveldevice 10 through the control line 12. In the next step S122, theprinter controller 14 receives the control information indicating theprinting conditions that is transmitted from the upper level device 10through the control line 12.

In the next step S123, the printer controller 14 determines whether thecontrol signal transmitted from the upper level device 10 through thecontrol line 12 and indicating the printing process start of the n-thpage is received. When it is determined that the control signal is notreceived, the printer controller 14 makes the process proceed to stepS130 and determines whether the job end notification is received fromthe upper level device 10 through the control line 12. When it isdetermined that the job end notification is not received, the processreturns to step S123. Meanwhile, when it is determined that the job endnotification is received in step S130, a series of printing processesterminates.

In step S123, when it is determined that the control signal transmittedfrom the upper level device 10 through the control line 12 andindicating the printing process start is received, the printercontroller 14 makes the process proceed to step S124. The subsequentprocesses of steps S124 to S128 become the processes of the individualcolors Y, C, M, and K. In this case, a transfer process of the printimage data of the color Y will be described.

In step S124, the printer controller 14 requests the upper level device10 to transfer the print image data through the control line 12. Next,in step S125, the printer controller 14 stands by a response from theupper level device 10 with respect to the request. Once the printercontroller 14 receives the response from the upper level device 10, theprinter controller 14 requests the data transfer control unit 30 a tostart to transfer the data through the engine I/F control line 40 a instep S126.

At this time, the printer controller 14 extracts a page identifier PBIDindicating a page (n-th page) to perform printing and a transfer originaddress indicating an address of a transfer origin of the print imagedata, from a transfer management table to be described below using FIG.15. The printer controller 14 adds the extracted page identifier PBIDand transfer origin address to the data transfer start request forrequesting to start the data transfer and transmits it to the datatransfer control unit 30 a in next step S126.

In next step S127, the printer controller 14 stands by the data transfercompletion notification from the upper level device 10 and the datatransfer completion notification from the data transfer control unit 30a. Once the data transfer completion notification is received from theupper level device 10 and the data transfer control unit 30 a throughthe control line 12 and the engine I/F control line 40 a, the printercontroller 14 makes the process proceed to step S128 and transmits thedata reception completion notification with respect to the color Y tothe upper level device 10 through the control line 12.

In step S129, the printer controller 14 determines whether the datatransfer of all of the colors of Y, C, M, and K terminates. When it isdetermined that the data transfer does not terminate, the printercontroller 14 makes the process to return to step S124 and executes theprocess with respect to the next color. Meanwhile, when it is determinedthat the data transfer of all of the colors Y, C, M, and K ends in stepS129, the printer controller 14 sets the page number “n” to “n+1” andreturns the process to step S123.

In FIG. 9B, the processes of steps S124 to S128 are sequentiallyexecuted with respect to the individual colors Y, C, M, and K. However,the present invention is not limited thereto. For example, the processesof steps S124 to S128 may be executed in parallel with respect to theindividual colors Y, C, M, and K. In this case, in step S129, theprinter controller 14 stands by the data reception completionnotification in step S128 in the processes of the individual colors Y,C, M, and K.

The printer controller 14 transmits a printing instruction to the datatransfer control units 30 a to 30 d through each of the engine I/Fcontrol lines 40 a to 40 d. By the printing instruction, the print imagedata is read from the memories 31 a to 31 d in the data transfer controlunits 30 a to 30 d and printing of the print image data with respect tothe printing paper is executed.

The printing instructions that are transmitted from the printercontroller 14 to the individual data transfer control units 30 a to 30 dcan be generated as a table based on information needed to performprinting, which is setting information of printing conditions, among thecontrol information described using FIG. 7. The printer controller 14transmits the table generated in the above-described way to each of thedata transfer control units 30 a to 30 d.

FIG. 9C is a flowchart illustrating an example of a process that isexecuted when the printer controller 14 instructs printing. Before theflowchart is executed, the printer controller 14 transmits a printingpreparation instruction to the conveyance control unit 51.

In step S140, the printer controller 14 determines whether the job endnotification is transmitted from the upper level device 10. When it isdetermined that the job end notification is transmitted, the printercontroller 14 terminates a series of processes. When it is determinedthat the job end notification is not transmitted from the upper leveldevice 10, the printer controller 14 makes the process proceed to stepS141.

In step S141, the printer controller 14 stands by the completion oftransferring the print image data corresponding to at least one pagewith respect to each of the colors Y, C, M, and K. When it is determinedthat the transfer of the print image data corresponding to one pageterminates, the printer controller 14 makes the process proceed to stepS142 to stand by reception of a response indicating the printingpreparation completion from the conveyance control unit 51. Once theprinter controller 14 receives the response indicating the printingpreparation completion transmitted from the conveyance control unit 51through the conveyance control line 41, the printer controller 14transmits a printing instruction to instruct to perform printing of then-th page to the data transfer control units 30 a to 30 d through theengine I/F control lines 40 a to 40 d, respectively in step S143.

FIG. 9D is a flowchart illustrating an example of a process in each ofthe data transfer control units 30 a to 30 d relating to the datatransfer. In this case, in order to simplify the description, theprocess in the color Y and the data transfer control unit 30 a will bedescribed. In step S150, the data transfer control unit 30 a stands by adata transfer start request that is transmitted from the printercontroller 14 through the engine I/F control line 40 a.

Once the data transfer control unit 30 a receives the data transferstart request, the data transfer control unit 30 a transmits a datatransfer request to request to transfer the print image data of thecolor Y to the upper level device 10 through the data line 11 a in stepS151. The print image data of the color Y that is transmitted from theupper level device 10 through the data line 11 a according to the datatransfer request is received by the data transfer control unit 30 a(step S152). The data transfer control unit 30 a controls a datatransfer DMA 133 a and stores the received print image data of the colorY in a predetermined area of the memory 31 a (step S153).

In step S154, the data transfer control unit 30 a determines whether thetransfer of the print image data of the color Y from the upper leveldevice 10 terminates. The data transfer control unit 30 a can determinewhether the transfer of the print image data terminates, on the basis ofsize information added to the transferred print image data. When it isdetermined that the transfer of the print image data does not terminate,the data transfer control unit 30 a makes the process return to stepS152 and continues to receive data and store the data in the memory 31a. Meanwhile, when it is determined that the transfer of the print imagedata terminates, the process proceeds to step S155. The data transfercontrol unit 30 a transmits the data transfer completion notification tothe printer controller 14 through the engine I/F control line 40 a.Then, the process returns to step S150.

FIGS. 10A to 10C are sequence diagrams specifically illustrating anexample of a printing process that can be applied to each embodimentrealized according to each flowchart illustrated in FIGS. 9A to 9D. InFIGS. 10A to 10C, reference numerals A to F indicate that the processproceeds to the corresponding reference numerals between the differentdrawings. Hereinafter, it is assumed that a print job is to performprinting corresponding to two pages.

Referring to FIG. 10A, first, control information of the print job istransmitted from the upper level device 10 to the printer controller 14through the control line 12 (SEQ200). The printer controller 14transmits control information indicating the job identifier jobID=1responding to the control information to the upper level device 10through the control line 12 (SEQ201). The printer controller 14 acquiresresources to execute a job according to the start of the job. Theprinter controller 14 transmits control information indicating aprinting process reception start to the upper level device 10 throughthe control line 12 (SEQ202).

Next, the upper level device 10 transmits control information todetermine printing conditions to the printer controller 14 through thecontrol line 12 (SEQ203). The printing conditions that are set to theprinter controller 14 include a printing form, a printing type,feeding/discharging information, order of printing surfaces, a size ofprinting paper, a data size of print image data, resolution andgradation, and color information as described with reference to FIG. 7.Further, the printing conditions may include information of the numberof pages to be printed. Once the control information is received in theprinter controller 14, the various printing conditions that are includedin the received control information are written in a register of theprinter controller 14, for example, and the printing conditions are set.

Next, the upper level device 10 transmits the control information of theprinting process start of the first page to the printer controller 14through the control line 12 (SEQ204). The control information includes aprocess identification number processID=1 to identify the process and animage identification number imageID=1 indicating an image constitutingthe first page. The printer controller 14 returns control information ofthe printing process start to be a response to the printing processstart, to the upper level device 10 (SEQ205).

Next, the printer controller 14 transmits control information of theprinting process request to the upper level device 10 and requests theupper level device 10 to transmit the print image data. The printingprocess request is sequentially processed in arrangement order of thecolors of the printer engine 15, with respect to the individual colorsY, C, M, and K. In this example, the heads of the colors Y, C, M, and Kalong a conveyance direction of the printing paper 201 are arranged inorder of the heads 56 a, 56 b, 56 c, and 56 d.

First, the printer controller 14 transmits the control information ofthe printing process request to request to transmit the print image dataof the color Y to the upper level device 10 through the control line 12(SEQ206). The control information includes process identification numberprocessID=1 to designate a process and color information Yellow todesignate the color Y. The upper level device 10 returns the controlinformation including the image identification number imageID=1 to theprinter controller 14 in response to the control information (SEQ207).Once the printer controller 14 receives the control information, theprinter controller 14 requests the data transfer control unit 30 acorresponding to the color Y to start to transmit the print image data(SEQ208). At this time, the printer controller 14 transmits a data sizeof the print image data requiring the start of the transmission and therequest to the data transfer control unit 30 a.

The data transfer control unit 30 a receives the request and requeststhe upper level device 10 to transmit the print image data of the planeof the color Y through the data line 11 a (SEQ209A), and the print imagedata of the color Y is transmitted from the upper level device 10 to thedata transfer control unit 30 a (SEQ209) according to the request. Thetransmitted print image data is stored in an area in the memory 31 a ofthe data transfer control unit 30 a that is allocated for the printimage data of the first page.

Hereinafter, the same processes as those of SEQ206, SEQ207, SEQ208,SEQ209A, and SEQ209 are repeated with respect to each of the othercolors C, M, and K, the print image data of each color is transmittedfrom the upper level device 10 to the data transfer control units 30 b,30 c, and 30 d through the data lines 11 b, 11 c, and 11 d and arestored in the areas of the memories 31 b, 31 c, and 31 d that areallocated for the print image data of the first page (SEQ210 to SEQ221).

Once the print image data transfer of one plane completes, the upperlevel device 10 transmits the control information of the data transfercompletion to the printer controller 14. The printer controller 14transmits the control information of the reception completion of theprint image data to the upper level device 10, according to the controlinformation.

For example, once the print image data transfer of the plane of thecolor Y completes, the upper level device 10 transmits the controlinformation of the data transfer completion including the imageidentification number imageID=1 and the color information Yellow to theprinter controller 14 (SEQ222). Meanwhile, once the print image datatransfer from the upper level device 10 through the data line 11 acompletes, the data transfer control unit 30 a notifies the printercontroller 14 of the completion of the transfer (SEQ223). The printercontroller 14 transmits the control information of the data receptioncompletion including the image identification number imageID=1 and thecolor information Yellow to the upper level device 10, in response tothe notification (SEQ224).

Hereinafter, the same processes as those of SEQ222 to SEQ224 arerepeated with respect to other colors C, M, and K, respectively, inaccordance with the completion of transferring each print image data.And the control information of the data reception completion istransmitted to the upper level device 10 (SEQ225 to SEQ233).

After the printer controller 14 transmits the control information of thedata reception completion with respect to the final print image data(that is, print image data of the color K) of the first page to theupper level device 10 at SEQ233, the printer controller 14 instructs theconveyance control unit 51 to prepare for printing. The conveyancecontrol unit 51 starts to convey the printing paper 201 to the printingposition, according to the instruction.

The description proceeds to FIG. 10B. Once the print image data transferof each color of the first page is completed, the upper level device 10transmits the control information of the printing process start of thesecond page to the printer controller 14 through the control line 12(SEQ234). The control information includes the process identificationnumber processID=2 to identify the process of the second page and theimage identification number imageID=2 indicating the image constitutingthe second page. The printer controller 14 returns the controlinformation of the printing process start to be a response to theprinting process start to the upper level device 10 (SEQ235).

For example, when printing of the second page is performed, the printingprocess start request is completed by the processes of SEQ234 andSEQ235. For this reason, once the upper level device 10 receives theresponse to the printing process start request of the second page atSEQ235, the upper level device 10 transmits the control information ofthe process start request completion where the job identifier jobID=1 isdesignated to the printer controller 14, at SEQ236.

Next, similar to SEQ206 to SEQ221, the printer controller 14 transmitsthe control information of the printing process request to the upperlevel device 10 and requests the upper level device 10 to transmit theprint image data. The printing process request is sequentially processedaccording to arrangement order of the colors in the printer engine 15,with respect to each of the colors Y, C, M, and K.

First, the printer controller 14 transmits the control information ofthe printing process request to request to transmit the print image dataof the color Y to the upper level device 10 through the control line 12(SEQ237). The control information includes the process identificationnumber processID=2 to designate the process and the color informationYellow to designate the color Y. The upper level device 10 returns thecontrol information including the image identification number imageID=2to the printer controller 14, in response to the control information(SEQ238). Once the printer controller 14 receives the controlinformation, the printer controller 14 requests the data transfercontrol unit 30 a corresponding to the color Y to start to transmit theprint image data (SEQ239).

The data transfer control unit 30 a receives the request and requeststhe upper level device 10 to transmit the print image data of the planeof the color Y through the data line 11 a (SEQ240A), and the print imagedata of the color Y is transmitted from the upper level device 10 to thedata transfer control unit 30 a according to the request (SEQ240). Thetransmitted print image data is stored in an area in the memory 31 a ofthe data transfer control unit 30 a that is allocated for the printimage data of the second page.

Hereinafter, the same processes as those of SEQ237, SEQ238, SEQ239,SEQ240A, and SEQ240 are repeated with respect to each of the othercolors C, M, and K, the print image data of each color is transmittedfrom the upper level device 10 to the data transfer control units 30 b,30 c, and 30 d through the data lines 11 b, 11 c, and 11 d and arestored in the areas of the memories 31 b, 31 c, and 31 d that areallocated for the print image data of the second page (SEQ244 to SEQ251and SEQ255 to SEQ258).

Similar to the above case, the upper level device 10 transmits thecontrol information of the data transfer completion to the printercontroller 14, whenever the transmission of the print image data of oneplane ends. The printer controller 14 transmits the control informationof the reception completion of the print image data to the upper leveldevice 10, in response to the control information.

In the example of FIG. 10B, once the print image data transfer of thecolor Y at SEQ240 completes, the upper level device 10 transmits thecontrol information of the data transfer completion to the printercontroller 14 (SEQ252). Once the print image data transfer from theupper level device 10 through the data line 11 a completes, the datatransfer control unit 30 a transmits the notification indicating thecompletion of the transfer to the printer controller 14 (SEQ253). Theprinter controller 14 transmits the control information of the datareception completion including the image identification number imageID=2and the color information Yellow to the upper level device 10, inresponse to the notification (SEQ254).

Hereinafter, the same processes as those of SEQ252 to SEQ254 arerepeated with respect to each of the other colors C, M, and K accordingto the completion of transferring each print image data, and the controlinformation of the data reception completion is transmitted to the upperlevel device 10 (SEQ259 to SEQ267).

In the example of FIG. 10B, the response indicating that the printingpreparation from the conveyance control unit 51 is completed accordingto the instruction of the printing preparation with respect to theconveyance control unit 51 immediately before SEQ234 described above isnotified from the conveyance control unit 51 to the printer controller14 immediately after SEQ240. Once the printer controller 14 receives thenotification, the printer controller 14 transmits the two items ofcontrol information of the printing process start of the processidentification number processID=1 and the process identification numberprocessID=2 to the upper level device 10 (SEQ241 and SEQ243). Thereby,the notification indicating that it is ready to perform the printing ofthe first page and the second page is transmitted to the upper leveldevice 10.

At the time point of SEQ241, the transfers of each color print imagedata of the first page with respect to the data transfer control units30 a, 30 b, 30 c, and 30 d are completed. For this reason, the printercontroller 14 notifies each of the data transfer control units 30 a, 30b, 30 c, and 30 d of a printing instruction to perform printing of thefirst page (SEQ242). The printing instructions are stored in thememories 31 a, 31 b, 31 c, and 31 d in the data transfer control units30 a, 30 b, 30 c, and 30 d. The actual print operation according to theprinting instruction is executed by matching timing with timing of aprint operation of a page to be executed hereinafter.

In the example of FIG. 10B, in the printer controller 14, the requestwith respect to the upper level device 10 of the print image data of theplane of the color C where transfer secondly starts is delayed due totransmission of the control information of the printing process start ofSEQ241 and SEQ243 (refer to SEQ244). Due to the delay, the transfer ofthe print image data of the plane of the color Y where the transferfirst starts may be completed before the transfer of the print imagedata of the plane of the color K starts (refer to SEQ253). After thenotification process of the transfer completion of the print image dataof the plane of the color Y (SEQ253), the transfer of the print imagedata of the plane of the color K starts (SEQ257 and SEQ258).

During the data transfer process of the first page illustrated in FIG.10A, after the transfer of the print image data of each color isperformed in order of the colors and the transfer of the print imagedata ends, the data transfer end process is executed in order of thecolors. Meanwhile, during the data transfer process of the second pagethat is illustrated in FIG. 10B, the data transfer end process may startbefore the transmission of the print image data of each color ends.

As described above, the data transfer control units 30 a, 30 b, 30 c,and 30 d to control the transmission of the data of the colors Y, C, M,and K are independently configured and the printer controller 14 canindependently communicate with the data transfer control units 30 a, 30b, 30 c, and 30 d. The data transfer control units 30 a, 30 b, 30 c, and30 d independently execute the process. For this reason, the processdoes not need to be changed, even though another process is interruptedduring a series of processes executed by the data transfer control units30 a, 30 b, 30 c, and 30 d.

At SEQ267, once the printer controller 14 notifies the upper leveldevice 10 of completion of transmission of the print image data of theplane of the color K, the printer controller 14 notifies each of thedata transfer control units 30 a, 30 b, 30 c, and 30 d of a printinginstruction to instruct to perform printing of the second page (SEQ268).

The description proceeds to FIG. 10C. In the printer engine 15, printingof the first page is executed according to a printing instruction ofSEQ242 and feeding of the printing paper 201 starts. The printer engine15 notifies the printer controller 14 of the feeding start of the firstpage (SEQ269). Once the printer controller 14 receives the notification,the printer controller 14 transmits control information indicating thatthe process identification number processID is set to 1 and feeding ofthe first page starts, to the upper level device 10 (SEQ270). Inaddition, the printer controller 14 instructs the data transfer controlunits 30 a, 30 b, 30 c, and 30 d to execute printing in synchronizationwith each other. According to the printing instruction, the datatransfer control units 30 a, 30 b, 30 c, and 30 d read the print imagedata of the colors Y, C, M, and K from the memories 31 a, 31 b, 31 c,and 31 d and sequentially execute printing of each plane of the firstpage with respect to the printing paper 201.

Similarly, once printing of the first page is completed and printing ofthe second page starts, the printer engine 15 notifies the printercontroller 14 of the feeding start of the second page (SEQ271). Once theprinter controller 14 receives the notification, the printer controller14 transmits control information indicating that the processidentification number processID is set to 2 and feeding of the secondpage starts, to the upper level device 10 (SEQ272). In addition, theprinter controller 14 instructs the data transfer control units 30 a, 30b, 30 c, and 30 d to execute printing in synchronization with eachother. According to the printing instruction, the data transfer controlunits 30 a, 30 b, 30 c, and 30 d read the print image data of the colorsY, C, M, and K from the memories 31 a, 31 b, 31 c, and 31 d andsequentially execute printing of each plane of the second page withrespect to the printing paper 201.

Once printing of each color of the first page ends and the first page ofthe printing paper 201 is discharged, the printer engine 15 notifies theprinter controller 14 of the end of the printing and the discharge ofthe first page (SEQ273). Once the printer controller 14 receives thenotification, the printer controller 14 transmits control informationindicating that the process identification number processID is set to 1and the printing paper 201 of the first page is discharged, to the upperlevel device 10 (SEQ274). Similar to the above case, once printing ofeach color of the second page ends and the second page of the printingpaper 201 is discharged, the printer engine 15 notifies the printercontroller 14 of the end of the printing and the discharge of the secondpage (SEQ275). The printer controller 14 transmits control informationindicating that the process identification number processID is set to 2and the printing paper 201 of the second page is discharged, to theupper level device 10, in response to the notification (SEQ276).

Once the upper level device 10 receives a discharge report correspondingto information indicating the number of pages to be printed included inthe control information of setting of the printing conditions from theprinter controller 14 at SEQ203, the upper level device 10 determinesthat the printing based on the job where the start is notified at SEQ200ends, and transmits control information of the end of the job of the jobidentification number jobID=1 to the printer controller 14 (SEQ277).Once the printer controller 14 receives the control information, theprinter controller 14 sets the job identification number jobID=1 andtransmits control information of the response to the upper level device10 (SEQ278). Accordingly, a series of printing processes ends.

As described above, the functions conventionally executed by each colordata transfer control unit, such as the control of the transmissiontiming of the print image data from the upper level device 10 or theexchange of the control information with the upper level device 10, arecollectively performed by the printer controller 14. The data transfercontrol units (data transfer control units 30 a to 30 d) that correspondto the individual colors only receive and read the print image data. Forthis reason, the transmission process of the print image data can beexecuted at a high speed.

The data transfer control units 30 a, 30 b, 30 c, and 30 d that controlthe transmission of the data of the individual colors Y, C, M, and K areindependently configured. In addition, the printer controller 14 and thedata transfer control units 30 a, 30 b, 30 c, and 30 d are connected bythe engine I/F control lines 40 a, 40 b, 40 c, and 40 d, andcommunication between the printer controller 14 and the data transfercontrol units 30 a, 30 b, 30 c, and 30 d is independently performed bythe data transfer control units 30 a, 30 b, 30 c, and 30 d. The datatransfer control units 30 a, 30 b, 30 c, and 30 d independently executethe processes.

For this reason, the process does not need to be changed, even thoughanother process is interrupted during a series of processes executed bythe data transfer control units 30 a, 30 b, 30 c, and 30 d, from SEQ237to SEQ266. Since the processes of the data transfer control units 30 a,30 b, 30 c, and 30 d are independently executed, addition or removal ofthe data transfer control units 30 a, 30 b, 30 c, and 30 d can be easilyperformed and various variations of the system configuration can beprovided with the common configuration.

<Another Example of Data Transfer Process>

Next, another example of the data transfer process will be described. Inthe above example, when the transfer process of the print image data ofeach color is executed, the upper level device 10 transfers the printimage data of each color according to the data transfer requesttransmitted from the data transfer control units 30 a to 30 d of theindividual colors through the data lines 11 a to 11 d. Meanwhile, inthis example, the data transfer request is not transmitted from the datatransfer control units 30 a to 30 d to the upper level device 10. Afterresponding to the data request from the printer controller 14, the upperlevel device 10 directly transmits the print image data of each color tothe data transfer control units 30 a to 30 d through the data lines 11 ato 11 d.

The data transfer process of the print image data according to anotherexample of the data transfer process will be described using flowchartsof FIGS. 11A and 11B. FIG. 11A is a flowchart illustrating an example ofa process in the upper level device 10 according to the data transfer ofthis example. In FIG. 11A, the processes that are common to those ofFIG. 9A described above are denoted by the same reference numerals andthe redundant description will not be repeated.

As illustrated in the flowchart of FIG. 11A, the process of the upperlevel device 10 is the same as the process illustrated in FIG. 9A in theprocess until the response with respect to the data request from theprinter controller 14 of step S105 is returned to the printer controller14 from the transmission of the control information indicating the jobstart of step S100. Therefore, the redundant description will not berepeated.

In this example, after transmitting the response to the data requestfrom the printer controller 14 to the printer controller 14 through thecontrol line 12 in step S105, the upper level device 10 makes theprocess proceed to step S160. In step S160, the upper level device 10transmits the print image data of the color Y to the data transfercontrol unit 30 a through the data line 11 a and stores the print imagedata in the memory 31 a in the data transfer control unit 30 a. At thistime, the upper level device 10 adds the address information of thememory 31 a to the transmitted print image data and transmits the printimage data to the data transfer control unit 30 a. The data transfercontrol unit 30 a stores the print image data in the memory 31 a,according to the address information added to the print image data.

The upper level device 10 executes the transmission process of the printimage data of step S160 by the predetermined amount, for example, untilthe transmission of the print image data corresponding to one page ends.When it is determined that the transmission of the print image data endsin step S108, the upper level device 10 transmits the data transfer endnotification to the printer controller 14 through the control line 12 instep S109, and stands by a response to the notification, from theprinter controller 14, in step S110. Since the following processes arethe same as those illustrated in FIG. 9A, the redundant description willnot be repeated.

In this example, since the data transfer process and the printinginstruction process in the printer controller 14 are the same as theprocesses descried using FIGS. 9B and 9C, the redundant description willnot be repeated.

FIG. 11B is a flowchart illustrating another example of a process in thedata transfer control unit 30 a that is related to the data transfer. InFIG. 11B, components that are common to those of FIG. 9D are denoted bythe same reference numerals and the redundant description will not berepeated.

In step S150, the data transfer control unit 30 a stands by a datatransfer start request transmitted from the printer controller 14through the engine I/F control line 40 a. Once the data transfer controlunit 30 a receives the data transfer start request from the printercontroller 14, the data transfer control unit 30 a makes the processproceed to step S161 and receives the print image data of the color Ytransmitted from the upper level device 10 through the data line 11 a.The data transfer control unit 30 a stores the print image data in thememory 31 a, according to the address information added to the printimage data.

In step S154, the data transfer control unit 30 a determines whethertransmission of the print image data of the color Y from the upper leveldevice 10 ends. For example, the data transfer control unit 30 adetermines whether the transmission of the print image data ends, on thebasis of the size information added to the print image data transmittedby the upper level device 10. The upper level device 10 may transmitinstruction information to the data transfer control unit 30 a, when thetransmission of the print image data ends. When it is determined thatthe transmission of the print image data does not end, the upper leveldevice 10 makes the process return to step S161 and continuouslyreceives the data and stores the data in the memory 31 a.

Meanwhile, when it is determined that the transmission of the printimage data ends, the upper level device 10 makes the process proceed tostep S155 and transmits the data end notification to the printercontroller 14 through the engine I/F control line 40 a. Then, theprocess is returned to step S150.

As such, without transmitting the data transfer request from the datatransfer control units 30 a to 30 d to the upper level device 10, afterresponding to the data request from the printer controller 14, the upperlevel device 10 may directly transfer the print image data of theindividual colors to the data transfer control units 30 a to 30 dthrough the data lines 11 a to 11 d.

<Memory Control of the Embodiment>

Next, an explanation will be made on a memory control of the embodiment.In this embodiment, the memories 31 a to 31 d that are included in thedata transfer control units 30 a to 30 d are collectively managed by theprinter controller 14. Hereinafter, the case where the print image datais supplied from the upper level device 10 to the printer device 13 bybitmap data having the same size in each of the colors C, M, Y, and Kwill be described.

In this embodiment, in the printer controller 14, a virtual memory 60that has the same memory space as that of each of the memories 31 a to31 d is defined (hereinafter, referred to as virtual memory 60), asillustrated in FIG. 12. The printer controller 14 manages a start pointof writing the print image data transferred from the upper level device10 into respective memories 31 a to 31 d (referred to as “inputpointer”) and a start point of reading the print image data fromrespective memories 31 a to 31 d (referred to as “output pointer”)respectively on the virtual memory 60.

When the printer controller 14 performs the writing with respect torespective memories 31 a to 31 d, the controller 14 sends the addressindicated by the input pointer to respective data transfer control units30 a to 30 d. The respective data transfer control units 30 a to 30 dstart to write the data using the address indicated by the input pointersent from the printer controller 14 as the head address. Similarly, whenthe printer controller 14 performs the reading from respective memories31 a to 31 d, the controller 14 sends the address indicated by theoutput pointer to respective data transfer control units 31 a to 30 d.The respective data transfer control units 31 a to 30 d start to readthe data from respective memories 31 a to 31 d using the addressindicated by the output pointer sent from the printer controller 14.

The printer controller 14 updates the input pointer by moving theaddress by one page when the writing of the data corresponding to onepage is completed. Similarly, the printer controller 14 updates theoutput pointer by moving the address by one page when the reading of thedata corresponding to one page is completed. Since the start point ofwriting and the start point of reading as for respective memories 31 ato 31 d are collectively managed by the printer controller 14, storageareas in respective memories 31 a to 31 d can be easily reserved andreleased page by page.

For example, the virtual memory 60 is configured as an address map thatis information indicating memory spaces in respective memories 31 a to31 d. FIGS. 13A and 13B illustrate a further specific example of thevirtual memory 60. For example, as illustrated in FIG. 13A, inrespective memories 31 a to 31 d which are real memories, each topaddress indicating each start point of available area is defined as“0000h” and each bottom address indicating each end point of availablearea is defined as “FFFFh”. The address in respective memories 31 a to31 d is increased by a predetermined unit in a direction from the topaddress to the bottom address. Incidentally, the denotation “h” meansthat a character string immediately before “h” in the address is anumeral in hexadecimal.

The top address and the bottom address of the virtual memory 60 aredefined as “0000h” and “FFFFh”, respectively, similarly to respectivememories 31 a to 31 d. Furthermore, input pointers (IN) and outputpointers (OUT) of respective memories 31 a to 31 d which are realmemories are managed as the same addresses as the input pointer and theoutput pointer of the virtual memory 60. In the example of FIG. 13A, theoutput pointer is identified by the address “3000h” and the inputpointer is identified by the address “A000h”.

FIG. 13B illustrates an example of address map 60 a which is to be anentity of the virtual memory 60. For example, the address map 60 a isconfigured as an assembly of addresses that include a Top address, aBottom address, and addresses of an output pointer and an input pointerat a current point of time. In the example of FIG. 13B, a write address(write) to write data is further included in the address map 60 a.

In the addresses of the input pointer and the output pointer, an addresscorresponding to one page is increased and updated, when writing of onepage ends and reading of one page ends. When data is written withrespect to each of the memories 30 a to 30 d, the write address isincreased in a data write unit and a write position of data with respectto each of the memories 30 a to 30 d is shown. As the update result ofthe input pointer, the output pointer, and the write address, when theresulted value is more than the Bottom address, the address is setcyclically from the Top address.

The address map 60 a is constructed in the control unit 23 in theprinter controller 14, for example. Specifically, the address map 60 ais constructed by storing each value on the RAM 323 by the CPU 321, forexample. The Top address and the Bottom address can be previously storedin the ROM 324. At the time of starting and an initialization process ofthe printer device 13, the control unit 23 communicates with each of thedata transfer control units 30 a to 30 d through the control signaltransmitting/receiving unit 21, acquires the Top address and the Bottomaddress of each of the memories 31 a to 31 d, and generates the addressmap 60 a. However, the invention is not limited thereto and a memoryspace may be actually secured on the RAM 323 of the printer controller14 and the virtual memory 60 may be constructed.

Referring to FIGS. 14A to 14D, control of the input pointer and theoutput pointer on the virtual memory 60 will be described. In FIGS. 14Ato 14D, an address increases from the upper side to the lower side. Asillustrated in FIG. 14A, in the virtual memory 60, in an initial state,the input pointer and the output pointer show an address P₀.

For example, in SEQ101 of FIG. 8, once the upper level device 10requests the data transfer of the first page to the printer controller14, the print image data corresponding to the first page starts to bewritten into respective memories 31 a to 31 d from the address P0indicated by the input pointer on the virtual memory 60. If it is judgedthat the transfer of the print image data for all colors correspondingto the first page is completed, the printer controller 14 moves theinput pointer on the virtual memory 60 by an amount of one page from theaddress P0 to the address P1 so that the input pointer is updated as theaddress P1. Thereby, the new address is designated to which the printimage data corresponding to the next page is to be transferred. In theexample of FIG. 8, if the completion of transferring the print imagedata of color K corresponding to the first page is notified to the printcontroller 14 at SEQ111 d, the printer controller 14 judges thattransferring the print image data for all colors corresponding to thefirst page is completed.

Incidentally, in this example, the explanation was made on the case thatthe input pointer is updated, when the transfer of the print image datafor all color corresponding to the first page is completed. However, thepresent invention is not limited to this example. For example, the inputpointer may be updated, every time when the data transfer of the printimage data for one color corresponding to the first page is completed.

The print image data corresponding to the second page is written intorespective memories 31 a to 31 d from the address P₁ (that is thetransfer destination address) indicated by the input pointer on thevirtual memory 60. For example, if the data transfer of the print imagedata for all colors corresponding to the second page is completed andthe data transfer of the print image data corresponding to the next pageis requested at SEQ115 in FIG. 8, the printer controller 14 moves theinput pointer by an amount of one page from the address P₁ to theaddress P₂ so that the input pointer is updated as the address P₂.Thereby, the new address is designated to which the print image datacorresponding to the next page is to be transferred (see FIG. 14B).

Once the printing operation for all colors corresponding to the firstpage is completed, the printer controller 14 moves the output pointer byan amount of one page from the address P0 to the address P1 so that theoutput pointer is updated as the address P1. Thereby, the print startposition of the next page is designated to the top address of the secondpage, as illustrated in FIG. 14C. In the example of FIG. 8, if theprinting operation for color K corresponding to the first page iscompleted at SEQ120 d, the printer controller 14 judges that theprinting operation for all colors corresponding to the first page iscompleted.

Incidentally, in this example, the explanation was made on the case thatthe output pointer is updated, when the printing operation for allcolors corresponding to the first page is completed. However, thepresent invention is not limited to this example. For example, theoutput pointer may be updated, every time when the printing operationfor one color corresponding to the first page is completed.

Once the printing operation for all colors corresponding to one page iscompleted, the printer controller 14 sends an instruction to respectivedata transfer control units 30 a to 30 d for clearing (so-called“zero-clear”) the areas of respective memories 31 a to 31 d where theprint image data is already written by the completed printing operation,as well as moving the output pointer. In accordance with thisinstruction, respective data transfer control units 30 a to 30 d performthe “zero-clear” by filling the areas of respective memories 31 a to 31d where the printing operation is already completed (e.g. an areadesignated by addresses P₀ to P₁ on the virtual memory 60 for the firstpage) with zero. Thus, by filling the areas of respective memories 31 ato 31 d where the printing operation is completed with zero, any mistakecan be avoided in the following printing operation.

In the above description, the areas where the print image data isalready written by the completed printing operation is explained as theareas of respective memories 31 a to 31 d to which the “zero-clear” isperformed. However, the present invention is not limited to this. Forexample, the areas of respective memories 31 a to 31 d to which the“zero-clear” is performed may be set to the discharge ended areas wherethe print image data is written. In this case, the data beforedischarged is stored into respective memories 31 a to 31 d of respectivedata transfer control units 30 a to 30 d. Therefore, it becomes notnecessary to re-transfer the print image data from the upper leveldevice 10, even in a case that the re-printing of page is needed becauseof a jam trouble of the printing sheet 201.

In the above description, the “zero-clear” of respective memories 31 ato 31 d is performed at a time point when the print operationcorresponding to one page is completed. However, the present inventionis not limited to this. That is, the “zero-clear” of respective memories31 a to 31 d may be performed at any time point from the time point whenthe print image data corresponding to a page before printing istransferred from the upper level device 10 until the time point when thetransferred print image data is written into respective memories 31 a to31 d. In this case, the output pointer may be moved in advance at thetime point when the printing operation corresponding to one page iscompleted, or may be moved at the time point when the “zero-clear” isperformed. Furthermore, the “zero-clear” may be performed almostsimultaneously at respective memories 31 a to 31 d, or may be performedsequentially from the memory among memories 31 a to 31 d to which theprint image data is transferred.

Then, the data transfer corresponding to the second page is completed,the printer controller 14 moves the input pointer on the virtual memory60 by an amount of one page from the address P₂ to address P₃ so thatthe input pointer is updated as the address P₃. Thereby, the new addressis designated to which the data corresponding to the third page istransferred.

Thus, in the present embodiment, the input pointer that indicates thetransfer destination address of the print image data is moved on thevirtual memory 60, upon the completion of the data transfercorresponding to one page. And, the output pointer that indicates thereading start position address of the print image data is moved on thevirtual memory 60, upon the completion of the printing operation foreach color corresponding to one page. Furthermore, the writing and thereading of the print image data with respective to respective memories31 a to 31 d is performed in accordance with the addresses indicated bythe input pointer and the output pointer on the virtual memory 60.Thereby, the printer controller 14 can readily manage statuses ofrespective memories 31 a to 31 d. Along with that, the printercontroller 14 can readily judge whether the printing operation for allcolors is completed, in the printing operation corresponding to onepage.

Incidentally, the writing and reading of the image print datacorresponding to one page is not always performed at the same timing orthe same speed. Specifically, in the necessity of performing the highspeed printing, the print image data is often buffered to ensure thecontinuous printing. For this purpose, it is preferable to control theaccess of the print image data to respective memories 31 a to 31 d insuch a manner that the writing speed becomes faster than the readingspeed. In this case, the print image data corresponding to more than onepage is stored into respective memories 31 a to 31 d. Thereby, thedifference in address between the input pointer and the output pointercorresponds to a page size corresponding to more than one page.

Furthermore, the difference in address between the input pointer and theoutput pointer is affected by the development speed (RIP processingspeed) of the print image data at the upper level device 10.Specifically, since the development speed of the print image datadepends on the content of the print image data, the change speed of theinput pointer depends on the content of the print image data. On theother hand, since the change speed of the output pointer depends on theprinting speed at the image output unit 50 (data output speed torespective heads 56 a to 56 d), it becomes constant. Incidentally, in acase that the writing speed of the print image data into respectivememories 30 a to 30 d is slower than the reading speed at the imageoutput unit 50, the difference in address between the input pointer andthe output pointer becomes zero.

<Transfer Management Table>

Next, the transfer management table according to the embodiment will bedescribed. The transfer management table is used to manage a datatransfer process in the data transfer control units 30 a to 30 d or aprinting process in the image output unit 50. In the printer controller14, the control unit 23 generates and holds the transfer managementtable, on the basis of a print job transmitted from the upper leveldevice 10, the paper information, and the information indicating the (3)printing conditions described using FIG. 7. Specifically, the CPU 321generates the transfer management table and stores the transfermanagement table in the RAM 323.

When the control unit 23 outputs the data transfer start request or theprinting instruction to the data transfer control units 30 a to 30 d,the control unit 23 holds needed information among the information ofthe transfer management table in the data transfer control units 30 a to30 d. For example, the control unit 23 transmits the information fromthe control signal transmitting/receiving unit 21 to the data transfercontrol units 30 a to 30 d through the engine I/F control lines 40 a to40 d, and the information is written in the storage unit of the datatransfer control units 30 a to 30 d, such as registers.

A specific example will be described using the data transfer controlunit 30 a. The control unit 23 transmits needed information among theinformation of the transfer management table from the control signaltransmitting/receiving unit 21 to the data transfer control unit 30 athrough the engine I/F control line 40 a, and the information is writtenin a register of a logic circuit 32 a (data transfer control unitcontroller 135 a) in the data transfer control unit 30 a.

The data transfer control units 30 a to 30 d output the transmissionrequest of the print image data to the upper level device 10 or theprinting instruction to the image output unit 50, according to theinformation of the transfer management table written in the registers. Apage identifier to identify a page is included in the transfermanagement table, and the data transfer control units 30 a to 30 dselect the information of the transfer management table on the basis ofthe page identifier and execute the data transfer and the printingprocess.

FIG. 15 illustrates an example of the transfer management table that isapplied to the embodiment. The transfer management table includesinformation that is common to the colors C, M, Y, and K and informationfor each color. The information common to each color and the informationfor each color include data transfer information that is used totransmit the print image data from the upper level device 10 and printinformation that is information related to the printing instruction withrespect to the image output unit 50. A management form of eachinformation that is included in the transfer management table is notlimited to a table form and each information may be managed in anotherdata management form.

The information that is common to each color in the embodiment will bedescribed. In the information that is common to each color, a pageidentifier PBID and a data amount for each page are included asinformation other than the data transfer information and the printinformation. The page identifier PBID is a page identifier to identify aprinting page and the transfer management table is identified by thepage identifier PBID. The data amount for each page is the number ofcolors that are used in the page identified by the page identifier PBID,and for example, in the case of a monochrome, a value becomes “1” and inthe case of a full color, a value becomes “4”.

The data transfer information in the information common to each colorthat is applied to the embodiment includes a data transfer originaddress, a data storage destination address, and a data transfer size.The data transfer origin address indicates an address where the printimage data of the page indicated by the page identifier PBID in theupper level device 10 is stored. The data transfer origin addressdesignates the print image data in a raster (line) unit.

In the embodiment, the same address is used as the transmission originaddress, with respect to the print image data of each color. Forexample, in the upper level device 10, the print image data of eachcolor is stored in the storage unit 122 illustrated in FIG. 2B.Specifically, with respect to the RAM 103 shown in FIG. 2A, the printimage data of each color is stored in the address that is identified byeach of the data lines 11 a to 11 d or each color.

The data storage destination address is an address that is indicated bythe input pointer. Therefore, the data storage destination address isalso updated whenever the input pointer is updated. The data transfersize indicates a data size of the print image data that is transmittedaccording to a request from each of the data transfer control units 30 ato 30 d. For example, the data transfer size is a data size of the printimage data of the page that is indicated by the page identifier PBID.

The data transfer size includes a boundary adjustment size to adjust thesize of the print image data in a predetermined unit (for example, byteunit). When one page is printed, the print image data of the data sizethat is indicated by the data transfer size is stored in each of thememories 31 a to 31 d. For example, a value that is obtained by addingthe boundary adjustment size to a “print data size” of the informationindicated by the (3) printing conditions described using FIG. 7 becomesthe data transfer size.

The print information in the information common to each color that isapplied to the embodiment will be described. The print informationincludes resolution and gradation as information of print image data tobe printed and includes a paper feeding length, a paper width, aprinting surface (surface/back surface), a printing prohibited area(upper side/lower side/left side/right side), and image information asinformation related to a printing object. The image information includesa bitmap printing position X and a bitmap printing position Y and an Xdirection effective size and a Y direction effective size.

In the information of the print image data to be printed, the resolutionindicates printing resolution of each of a main scanning direction and asub-scanning direction. The gradation indicates the number of bits perpixel.

The information related to the printing object will be described usingFIGS. 16A and 16B. FIG. 16A illustrates an example of a page area 202with respect to printing paper 201. FIG. 16B illustrates an example ofan effective printing area 204 by print image data. In the paper feedinglength, the length of one page in a feeding direction of the printingpaper 201 is represented by the number of dots and in the paper width,the length of the printing paper 201 in a width direction is representedby the number of dots. The printing surface indicates whether the printimage data of the corresponding page is printed on the surface of theprinting paper 201 or is printed on the back surface thereof.

The upper, lower, left, and right sides in the printing prohibited areaare to represent a printing prohibited area 203 where printing isprohibited by the number of dots from an upper end (head of the paperfeeding direction), a lower end (rear end of the paper feedingdirection), a left end (left end of the paper width direction toward thepaper feeding direction), and a right end (rear end of the paper widthdirection toward the paper feeding direction) of the page area 202.

The bitmap printing positions X and Y of the image information are torepresent an address (coordinates) of the printing start position by thenumber of dots, when the upper left (head of the paper feeding directionand left end of the paper width direction) of the page area 202 is setto an original point. The X direction effective size in the imageinformation is to represent a size not including a boundary adjustmentarea 205 of an X direction (paper width direction) by the number ofdots. The boundary adjustment area 205 is provided to adjust a data sizein a predetermined unit, when a data size of one raster data includesfractions of a predetermined unit or less (for example, byte unit). TheY direction effective size is to represent a size of a Y direction(paper feeding direction) by the number of dots. That is, the Xdirection effective size indicates an effective size that is printed byone raster data and the Y direction effective size indicate the numberof rasters (number of lines) printed with the X direction effectivesize.

That is, the bitmap printing positions X and Y are set to the upper leftand the area that are shown by the X direction effective size and the Ydirection effective size becomes the printing area 204. In an area ofthe printing area 204 that overlaps the printing prohibited area 203,printing is not performed.

Information of each color according to the embodiment will be described.The information of each color includes a Color identifier that indicatesthe printing color where information is described among the colors C, M,Y, and K, as information other than the data transfer information andthe print information. Since the information of each color has thecommon configuration, information where the Color identifier is “Cyan”is described hereinafter. In the information management table, theinformation of each color is included with respect to each of the colorsC, M, Y, and K.

The data transfer information in the information of each color that isapplied to the first embodiment includes information that indicateswhether transmission of data is needed. The information that indicateswhether the transmission of the data is needed indicates whethertransmission of print image data of the corresponding printing color isneeded. For example, in the case of white paper, that is, in the case ofnot performing printing, the information that indicates whether thetransmission of the data is needed is set to “non-necessity”, withrespect of all of the colors C, M, Y, and K. With respect to colorsother than the colors designated by the Colors (Cyan, Magenta, Yellow,and Black) identifiers, the information that indicates whether thetransmission of the data is needed is set to “non-necessity”.

The print information in the information of each color that is appliedto the embodiment includes information that indicates whether printingis needed. The information that indicates whether the printing is neededindicates whether printing of print image data of the correspondingprinting color is needed. For example, in the case of white paper, thatis, in the case of not performing printing, the information thatindicates whether the printing is needed is set to “non-necessity”, withrespect of all of the colors C, M, Y, and K. With respect to colorsother than the colors designated by the Colors, the information thatindicates whether the transmission of the data is needed is set to“non-necessity”.

<Memory Control Process>

Next, a control process of the memories 31 a to 31 d according to theembodiment will be described using FIGS. 17 to 21. FIG. 17 illustratesan example of a process of when the printer controller 14 receives datafrom the upper level device 10. The process according to the flowchartof FIG. 17 starts when the print job of the page is received from theupper level device 10 by the control unit 23, in the printer controller14, in SEQ101 or SEQ102 of FIG. 8. Each process according to theflowchart of FIG. 17 is executed by control from the control unit 23 inthe printer controller 14.

The printer controller 14 generates the transfer management table, onthe basis of the received print job, the paper information received fromthe upper level device 10 in SEQ100 of FIG. 8, and the informationindicating the (3) printing conditions described using FIG. 7, when theprint job is received from the upper level device 10 (step S200). Instep S201 of FIG. 17, the printer controller 14 checks the virtualmemory 60 and acquires the empty capacities of the memories 31 a to 31d.

The checking of the empty capacities of the memories 31 a to 31 d by thevirtual memory 60 will be described using FIGS. 18 and 19D. Hereinafter,the “empty capacity of each of the memories 31 a to 31 d by the virtualmemory 60” is described as the “empty capacity on the virtual memory 60”or is simply described as the “empty capacity”. The data size of theprint image data corresponding to one page transmitted from the upperlevel device 10 is a data size that is obtained by adding the data sizeof the printing area 204 and the data size of the boundary adjustmentarea 205, as illustrated in FIG. 18.

Meanwhile, the empty capacity on the virtual memory 60 can be calculatedan the basis of the difference of an address P_(i) indicating an inputpointer and an address P_(o) indicating an output pointer. A method ofcalculating the empty capacity on the virtual memory 60 will beschematically described using FIGS. 19A to 19D. In FIGS. 19A to 19D, theaddress of the virtual memory 60 increases from the upper side to thelower side and an area where print image data is written is shown byadding oblique lines.

In this case, according to a relation between the input pointer and theoutput pointer on the virtual memory 60, there are three cases, (A) thecase where the address P_(i) of the input pointer is more than theaddress P_(o) of the output pointer (refer to FIG. 19A), (B) the casewhere the address P_(o) of the output pointer is more than the addressP_(i) of the input pointer (refer to FIG. 19B), and (C) the case wherethe address P_(i) of the input pointer is equal to the address P_(o) ofthe output pointer (refer to FIGS. 19C and 19D). The empty capacityD_(EMP) on the virtual memory 60 can be obtained on the basis of thedifference of the address P_(i) of the input pointer and the addressP_(o) of the output pointer.

The case (A) where the address P_(i) of the input pointer is more thanthe address P_(o) of the output pointer (P_(i)>P_(o)) indicates thatprint image data is stored in an area from the address P_(o) of theoutput pointer to the address P_(i) of the input pointer, as illustratedin FIG. 19A. In this case, when a data size for each address is W andthe capacity of the virtual memory 60 is D_(FULL), the empty capacityD_(EMP) is calculated by the following equation (1).

D _(EMP) =D _(FULL)−(P _(i) −P _(o))×W  (1)

The case (B) where the address P_(o) of the output pointer is more thanthe address P_(i) of the input pointer (P_(o)>P_(i)) indicates thatprint image data is stored in an area from the address P_(o) of theoutput pointer to the Bottom address of the virtual memory 60 and anarea from the Top address of the virtual memory 60 to the address P_(i)of the input pointer, as illustrated in FIG. 19B. In this case, theempty capacity D_(EMP) is calculated by the following equation (2). Inthe case of (B), the Top address and the Bottom address are connectedand read is controlled in a ring buffer manner.

D _(EMP)=(P _(o) −P _(i))×W  (2)

The case (C) where the address P_(i) of the input pointer is equal tothe address P_(o) of the output pointer (P_(i)=P_(o)) indicates that thevirtual memory 60 is empty (refer to FIG. 19C) and that print image datais stored in the virtual memory 60 without the empty capacity (refer toFIG. 19D). It can be determined whether the virtual memory 60 is emptyor full, on the basis of whether printing ends or starts. However, thepresent invention is not limited thereto and the printer controller 14may monitor movement of the input pointer and the output pointer on thevirtual memory 60 and set a flag when the virtual memory is full.

Returning the description to the flowchart of FIG. 17, if the emptycapacity of the virtual memory 60 is calculated in step S201, theprinter controller 14 determines whether print image data (in this case,print image data of one color) corresponding to one page can be storedwith respect to the calculated empty capacity of the virtual memory 60,on the basis of the data transfer size of the transfer management table,in next step S202. When it is determined that the print image datacannot be stored, the process of the flowchart of FIG. 17 is notperformed. In this case, when it is determined that printing ends, theprinter controller 14 can request to transmit print image data.

Meanwhile, when it is determined that the print image data correspondingto one page can be stored in step S202, the printer controller 14 makesthe process proceed to step S203 and determines whether transmission ofprint image data of the previous page ends. When it is determined thatthe transmission of the print image data does not end, the process ofthe flowchart of FIG. 17 is not performed. In this case, when it isdetermined that the transmission of the print image data ends, theprinter controller 14 may request to transmit print image data of a nextpage. Meanwhile, when it is determined that the transmission of theprint image data ends, the process proceeds to step S204.

In step S204, the printer controller 14 requests each of the datatransfer control units 30 a to 30 d to start to transmit the print imagedata of each color indicated by the page identifier PBID in the transfermanagement table. For example, this corresponds to the processes ofSEQ110 a to SEQ110D in the sequence of FIG. 8 and SEQ208, SEQ212,SEQ216, and SEQ220 in the sequence of FIG. 10A, when the page identifierPBID indicates the first page. Then, the process proceeds to step S205and the printer controller 14 moves the position of the input pointer onthe virtual memory 60 by one page and updates the input pointer. If theinput pointer is updated, the process exits the flowchart of FIG. 17.

In step S204, once the printer controller 14 requests to start the datatransfer of the print image data to respective data transfer controlunits 30 a to 30 d, the requests of transferring the print image dataare sent from respective data transfer control units 30 a to 30 d to theupper level device 10. For example, in a case that the page identifierPBID indicates the first page, this corresponds to SEQ209A, SEQ213A,SEQ217A, and SEQ221A in the sequence of FIG. 10A.

At this time, each of the data transfer control units 30 a to 30 d addsat least the page identifier PBID and the data transfer origin addressshown in the transfer management table of FIG. 15 to the data transferstart request and transmits the data transfer request to the upper leveldevice 10. The page identifier PBID and the data transfer origin addressare extracted from the transfer management table in the printercontroller 14 and are transmitted to each of the data transfer controlunits 30 a to 30 d, in step S126 of FIG. 9B, as described above.

The upper level device 10 reads the print image data of each color fromthe storage unit 122, on the basis of the page identifier PBID and thedata transfer origin address transmitted from each of the data transfercontrol units 30 a to 30 d, and transmits the print image data to eachof the data transfer control units 30 a to 30 d through each of the datalines 11 a to 11 d. In this case, the page identifier PBID and the datatransfer origin address are added to the transmission start request ofthe print image data by the printer controller 14 and are transmitted toeach of the data transfer control units 30 a to 30 d.

FIG. 20 is a flowchart illustrating an example of a process of whentransmission ends. The process according to the flowchart of FIG. 20starts when the notification of the end of the transmission of the datais received from the data transfer control units 30 a to 30 d and isexecuted by the printer controller 14, in SEQ111 a to SEQ111 d of FIG.8.

First, in step S210, it is determined whether transmission of the printimage data corresponding to one page with respect to each of the fourcolors, that is, each of the colors C, M, Y, and K from the upper leveldevice 10 to each of the data transfer control units 30 a to 30 d ends.For example, the printer controller 14 sets the flags, whenever thenotification of the end of the transmission of the print image data isreceived from the each of the data transfer control units 30 a to 30 d,in SEQ111 a to SEQ111 d of FIG. 8. If the flags of the four colors areset, the printer controller 14 determines that the transmission of theprint image data of each color corresponding to one page ends. When itis determined that the transmission of the print image data does notend, the process proceeds to step S213.

Meanwhile, when it is determined that the transmission of the printimage data of each color corresponding to one page ends, the printercontroller 14 makes the process proceed to step S211 and determineswhether the print image data is being printed. For example, after theprinting instruction is output to each of the data transfer controlunits 30 a to 30 d in SEQ114 of FIG. 8, if the corresponding printinginstruction end notification is not received in SEQ120 a to SEQ120 d,the printer controller 14 determines that printing is being performed.When it is determined that printing is being performed, the processproceeds to step S213. Meanwhile, when it is determined that printing isnot performed at the present time, the printer controller 14 makes theprocess proceed to step S212 and outputs the printing instruction of thepage indicated by the page identifier PBID to each of the data transfercontrol units 30 a to 30 d (for example, SEQ114 of FIG. 8).

Next, in step S213, the printer controller 14 determines whether thereis next print image data transmitted from the upper level device 10 toeach of the data transfer control units 30 a to 30 d. For example, whenthe print image data where the printing instruction is output in stepS212 is the print image data of the first page and the process proceedsto step S213, if the print job of the next second page is received bySEQ102 of FIG. 8, it is determined that print image data to betransmitted next exists.

If it is determined that the print image data to be transmitted nextdoes not exist, the process exits the flowchart of FIG. 20. Meanwhile,if it is determined that the print image data to be transmitted nextexist, the printer controller 14 makes the process proceed to step S214.The process of step S214 is the same as the process after step S201 inthe flowchart illustrated in FIG. 17. After the empty state of thememory is confirmed, if the memory is empty, the printer controller 14requests each of the data transfer control units 30 a to 30 d to startto transmit the next print image data and does not perform the processaccording to the flowchart of FIG. 20.p

FIG. 21 is a flowchart illustrating an example of a process of whenprinting ends. The process according to the flowchart of FIG. 21 startswhen the notification of the end of the printing is received from thedata transfer control units 30 a to 30 d by the printer controller 14and is executed by the printer controller 14, in SEQ120 a to SEQ120 d orSEQ122 a to SEQ122 d of FIG. 8.

First, in step S220, it is determined whether printing of all of thefour colors ends, with respect to the print image data corresponding toone page. For example, the printer controller 14 sets the flags,whenever the notification of the end of the printing is received fromthe each of the data transfer control units 30 a to 30 d, in SEQ120 a toSEQ120 d of FIG. 8. If the flags of the four colors are set, the printercontroller 14 determines that the printing of the print image data ofeach color corresponding to one page ends. However, the presentinvention is not limited thereto. When printing is performed in order ofthe colors C, M, Y, and K, the printer controller 14 may determine thatprinting ends, after the printing end notification of the final color Kis received. When it is determined that printing of all of the fourcolors does not end, the process proceeds to step S222.

Meanwhile, when it is determined that printing of each colorcorresponding to one page ends, the process proceeds to step S221. Instep S221, the printer controller 14 moves the position of the outputpointer on the virtual memory 60 by one page and updates the outputpointer. If the output pointer is updated, the process proceeds to stepS222.

In step S222, the printer controller 14 determines whether a next pageis printed. For example, the printer controller 14 receives the datatransfer end notification from each of the data transfer control units30 a to 30 d. However, when there is a page where the printing endnotification is not received exists, the printer controller 14 candetermine that printing of a next page exists. When it is determinedthat printing of the next page does not exist, the printer controller 14does not perform the process according to the flowchart of FIG. 21.Meanwhile, when it is determined that printing of the next page exists,the printer controller 14 makes the process proceed to step S223,designates the page identifier PBID indicating the next page to each ofthe data transfer control units 30 a to 30 d, instructs each of the datatransfer control units 30 a to 30 d to start to perform printing of thenext page, and the process exits the flowchart of FIG. 21.

<Modification of the Embodiment>

Next, an explanation will be made on a modification of the embodiment.This modification is an example of the case where the memories 31 a to31 d of the data transfer control units 30 a to 30 d are collectivelymanaged by the printer controller 14 and print image data is transmittedfrom the upper level device 10 to the printer device 13, by bitmap datahaving a different size for each of the colors C, M, Y, and K.Hereinafter, a portion that is different from the above-mentionedembodiment will be mainly described.

An example of the case where the bitmap data having the different sizefor each of the colors is transmitted will be described using FIGS. 22Ato 22C. For example, as illustrated in FIG. 22A, the case where an image70 printed using the color C, an image 71 printed using the color M, animage 72 printed using the color Y, and an image 73 printed using thecolor K are disposed in a printing area 75 of one page is considered.The sizes of the images 70 to 73 are different from each other.

In this case, print image data of a minimum rectangular area includingthe image 70 is generated as the print image data of the color C at theside of the upper level device 10 and is transmitted to the datatransfer control unit 30 a. Similar to the color C, with respect to theother colors M, Y, and K, print image data of a minimum rectangular areaincluding the images 71, 72, and 73 is generated at the side of theupper level device 10 and is transmitted to each of the data transfercontrol units 30 b, 30 c, and 30 d. Thereby, the data transfer amountcan be reduced, as compared with the case where print image data of onepage is transmitted for each color.

In this case, a first method that performs arrangement of each printimage data of the minimum rectangular area including the images 70 to 73of the individual colors with respect to the predetermined position onthe memories 31 a to 31 d and a second method that performs arrangementof each print image data to the predetermined position when printing isperformed are used. Hereinafter, “each print image data of the minimumrectangular area including the images 70 to 73 of the individual colors”is described as “print image data of the images 70 to 73 of theindividual colors”.

As illustrated in FIG. 22B, the first method writes the print image dataof the images 70 to 73 in the addresses of the memories 31 a to 31 dcorresponding to the printing positions of the images 70 to 73. In orderto simplify the description, only a storage area of one page in thememories 31 a to 31 d is illustrated in FIG. 22B. According to the firstmethod, since the area of one page is common in the memories 31 a to 31d, the first virtual memory 60 that is common to the memories 31 a to 31d may be prepared at the side of the printer controller 14.

In the first method, with respect to the transfer management table,address information of when the print image data of the images 70 to 73is written in the memories 31 a to 31 d is described. As describedabove, in the memories 31 a to 31 d, an area where printing ends iscleared after printing of one page of each color ends and the outputpointer is updated. For this reason, the data transfer control units 30a to 30 d may overwrite the print image data of the images 70 to 73 withrespect to the designated addresses of the memories 31 a to 31 d.

As illustrated in FIG. 22C, the second method writes the print imagedata of the images 70 to 73 in the memories 31 a to 31 d. In addition,the print image data of the images 70 to 73 that are read from thememories 31 a to 31 d are printed with respect to the predeterminedarrangement positions of the images 70 to 73. According to the secondmethod, the consumption amount per page in the memories 31 a to 31 d canbe reduced.

Meanwhile, according to the second embodiment, since the sizes of theprint image data of the images 70 to 73 may be different from eachother, the printer controller 14 needs to prepare the virtual memory 60with respect to each of the memories 31 a to 31 d. In this case, in theaddress map 60 a that is illustrated in FIG. 13B, a group of an inputpointer (IN), an output pointer (OUT), and a write address (write) isset to each of the memories 31 a to 31 d, like (IN, OUT_(a), andwrite_(a)), (IN_(b), OUT_(b), and write_(b)), . . . . In addition, thetransmission information and the print information of each color needsto be described with respect to the transfer management table.

The second method will be specifically described using FIG. 22C. Forexample, with respect to the image 70 of the color C, a print image data70 a of the minimum rectangular area that includes the image 70 isprinted at the position indicated by a printing address 70 b of theprinting area 75. Likewise, with respect to the images 71, 72, and 73 ofthe colors M, Y, and K, print image data 71 a, 72 a, and 73 a of theminimum rectangular area that includes the images 71, 72, and 73 areprinted at the positions indicated by printing addresses 71 b, 72 b, and73 b of the printing area 75. Therefore, as information of the transfermanagement table, data sizes and information indicating the coordinates70 b to 73 b need to be held, with respect to the print image data 70 ato 73 a. FIG. 23 illustrates an example of the configuration of thetransfer management table according to the modification of theembodiment. Hereinafter, the redundant description of a portion that iscommon to the transfer management table according to the embodimentillustrated in FIG. 15 will not be repeated.

The transfer management table according to the modification of theembodiment includes information common to each color and information foreach color, similar to the transfer management table according to theabove-mentioned embodiment. In this case, in the transfer managementtable according to the embodiment and the transfer management tableaccording to the modification of the embodiment, the information commonto each color and the information for each color are different from eachother.

The information common to each embodiment according to the modificationof the embodiment will be described. As illustrated in FIG. 23, in thetransfer management table according to the modification of theembodiment, the information common to each color includes a pageidentifier PBID and a data amount for each page and includes resolution,gradation, a paper feeding length, a paper width, and a printing surfaceas print information. Since the sizes of the print image data of theindividual colors to be transferred are different from each other, theinformation common to each color does not include data transferinformation.

The information for each color according to the modification of theembodiment will be described. In the information for each color, theColor identifier, the data transfer information, and the printinformation are included. The data transfer information in theinformation for each color that is applied to the modification of theembodiment includes data transfer necessity, a transfer completion flag,a data transfer origin address, a data transfer destination address(data storage destination address), and a data transfer size. Amongthese, the transfer completion flag becomes ON when the printercontroller 14 receives the notification informing that the data transferof the print image data of the corresponding color is completed. Theprinter controller 14 can update the corresponding input pointer on thevirtual memory 60, with respect to the color for which the data transfercompletion flag becomes ON.

The print information in the information for each color that is appliedto the modification of the embodiment includes print necessity, printprohibited areas (upper side/lower side/left side/right side), and imageinformation. The print information includes the bitmap printingpositions X and Y and a Y direction effective size and an X directioneffective size.

In the modification of the embodiment, the designation of the addressesto arrange the print image data of the images 70 to 73 on the memories31 a to 31 d using the first method or the designation of the printingaddresses of the print image data of the images 70 to 73 using thesecond method can be performed by the bitmap printing positions X and Ydescribed as the print information for each color in the transfermanagement table.

An example of a method of arranging the print image data of the images70 to 73 on the memories 31 a to 31 d using the first method will bedescribed using FIG. 24. In this case, the image 73 in FIGS. 22A to 22Cdescribed above is used.

The image 73 is the image for the color K and the print image data 73 aof the minimum rectangular area that includes the image 73 is written inthe memory 31 d in the data transfer control unit 30 d. A head of anarea of one page in the memory 31 d is defined by the address indicatedby the output pointer set to the virtual memory 60 common to each colorin the printer controller 14. As schematically illustrated in FIG. 24,the address of the memory 31 d that is indicated by the bitmap printingpositions X and Y in the image 73 and corresponds to the address 73 b inprinting is calculated on the basis of the address of the head of thearea of one page. On the basis of the calculated address, the printimage data 73 a is written in the memory 31 d.

An example of a method of arranging the print image data of the images70 to 73 on the memories 31 a to 31 d using the second method will bedescribed using FIGS. 25A and 25B. In this case, the image 73 in FIGS.22A to 22C described above is used. FIG. 25A illustrates an example ofthe virtual memory 60 for the color Y and FIG. 25B illustrates anexample of an actual printing area 75 in the printing paper 201.

In the printer controller 14, with respect to the virtual memory 60 forthe color Y, a data size (=x₁×y₁) calculated from the X directioneffective size (x₁) and the Y direction effective size (y₁) in thetransfer management table is regarded as a data size of one page, andthe address movement amount at the time of updating the output pointerand the input pointer is set. In the memory 31 d, the print image data73 a of the image 73 to be printed next is written from the outputpointer (refer to FIG. 25B).

In this case, in order to simplify the description, it is assumed thatonly print image data of one page is written in the memory 31 d. In FIG.25A, only the output pointer is illustrated and the input pointer is notillustrated.

At the time of printing, the image output unit 50 reads the print imagedata 73 a from the memory 31 d, on the basis of the address indicated bythe output pointer, and performs printing of the print image data 73 a,on the basis of the printing address 73 b indicated by the bitmapprinting positions X and Y of the image 73. If the print image datacorresponding to the data size is read, the output pointer is moved bythe data size, and the output pointer is updated.

In the modification of the embodiment, the method of managing the inputpointer and the output pointer on the virtual memory 60, the process ofwhen the data is received from the upper level device 10, the process ofwhen the print image data transfer ends, and the process of when printprocess ends are the same as those of the embodiment. Therefore, theredundant description will not be repeated.

In the above-mentioned embodiment and the modification thereof, thecolors that are used for printing are the process colors of the colorsC, M, Y, and K. However, the present invention is not limited to this.For example, even when colors of red (R), green (G), and blue (B) orspecial colors such as a gold color, a silver color, and a white colorare used for printing, the embodiment and the modification thereof canbe applied as they are. Further, the number of colors is not limited tofour. Even when printing is performed using five or more colors, orthree or less colors, the embodiment and the modification thereof can beapplied as they are.

According to the present invention, it is possible to facilitate thecontrol of the printing operation including the print process and thetransfer process of the image data. Although the invention has beendescribed with respect to specific embodiments for a complete and cleardisclosure, the appended claims are not to be thus limited but are to beconstrued as embodying all modifications and alternative constructionsthat may occur to one skilled in the art that fairly fall within thebasic teaching herein set forth.

What is claimed is:
 1. A printing device, comprising: a printing unitthat prints image data of a plurality of colors generated by an upperlevel device on a printing medium; a plurality of data storage unitsthat respectively receive the image data of the plurality of colors fromthe upper level device through a plurality of first transfer pathscorresponding respectively to the image data of the plurality of colorsand store the image data; a control unit that controls the plurality ofdata storage units such that the plurality of data storage units receivecontrol information to control printing of the image data of theplurality of colors from the upper level device through a secondtransfer path, and request the upper level device to transfer the imagedata of the plurality of colors, on the basis of the controlinformation, and controls the plurality of data storage units such thatthe plurality of data storage units receive the image data of theplurality of colors transferred from the upper level device and storethe image data; and a conveyance control unit that controls a conveyanceunit conveying the printing medium, wherein the conveyance control unitnotifies the control unit of a printable state, when the conveyance unitsatisfies predetermined conditions, and the control unit controls theplurality of data storage units such that the plurality of data storageunits transfer the stored image data of the plurality of colors to theprinting unit, when the notification of the printable state is received.2. The printing device according to claim 1, wherein the control unitincludes: a receiving unit that receives the control information fromthe upper level device; a generating unit that generates a plurality ofcontrol signals to control the plurality of data storage unitsrespectively, on the basis of the control information received by thereceiving unit; and a transfer unit that transfers the plurality ofcontrol signals generated by the generating unit to the plurality ofdata storage units respectively.
 3. The printing device according toclaim 1, wherein each of the plurality of data storage units includes arequesting unit that sends a request of the image data to the upperlevel device on the basis of the control information, and stores theimage data transferred from the upper level device through the firsttransfer path, in response to the request from the requesting unit. 4.The printing device according to claim 1, wherein the control unit sendsto the plurality of data storage units a transfer command to transferthe stored image data of the plurality of colors to the printing unit,when the notification of the printable state is received, and theplurality of data storage units transfer the stored image data of theplurality of colors to the printing unit, in response to the transfercommand.
 5. A method of controlling a printing device, comprising: by aprinting unit, printing image data of a plurality of colors generated byan upper level device on a printing medium; by a plurality of datastorage units, respectively receiving the image data of the plurality ofcolors from the upper level device through a plurality of first transferpaths corresponding respectively to the image data of the plurality ofcolors and store the image data; by a control unit, controlling theplurality of data storage units such that the plurality of data storageunits receive control information to control printing of the image dataof the plurality of colors from the upper level device through a secondtransfer path, and request the upper level device to transfer the imagedata of the plurality of colors on the basis of the control information,and controlling the plurality of data storage units such that theplurality of data storage units receive the image data of the pluralityof colors transferred from the upper level device and store the imagedata; and by a conveyance control unit, controlling a conveyance unitconveying the printing medium, wherein in the controlling the conveyanceunit, notifying the control unit of a printable state, when theconveyance unit satisfies predetermined conditions, and in thecontrolling the plurality of data storage units, controlling theplurality of data storage units such that the plurality of data storageunits transfer the stored image data of the plurality of colorsrespectively to the printing unit, when the notification of theprintable state is received.